

No.1ベストアンサー
- 回答日時:
自動で作るような機能はないでしょう。
自分で作ります。
ジグソーパズルの作り方ですが,
私なら,まず写真か絵をステージ上に用意します。
写真の方が簡単なので,
写真ということで説明を続けます。
まず,
新規ドキュメントを作成して,
任意の名前で任意のフォルダに保存します。
写真の場合は,
Flash の「ファイル」→「読み込み」→「ステージに読み込み」で,
すでにある JPEG などをステージに読み込むことができます↓。
(富士山のつもり)
回回回回回回回回回回回回回回回回回回回回回回回
回回回□□□□□□回回回回回回回回回□回□回回
回□□□□回回回回回回回回回回回回□□□□□回
回回回回回回回回回回回回回回回回回回□□□回回
回回回回回回回回回回■■■回回回回回回回回回回
回回回回回回回回回■□□□■回回回回回回回回回
回回回回回回回回■□□□□□■回回回回回回回回
回回回回回回回■■□■□■□■■回回回回回回回
回回回回回回■回回■回■回■回回■回回回回回回
回回回回回■回回回回回回回回回回回■回回回回回
回回回回■回回回回回回回回回回回回回■回回回回
回回■■回回回回回回回回回回回回回回回■■回回
■■回回回回回回回回回回回回回回回回回回回■■
そのステージ上に読み込まれた写真を選択した状態で,
「修正」→「分解」で写真を分解します。
そして,
その写真の上に新規レイヤーを作成し,
そのレイヤーに写真にぴったりな枠線を線ツールで描きます。
白い部分(□□□)は白い塗りではなくて,
何も無い状態だと思ってください。
枠の線(■■■)だけがある状態です↓。
■■■■■■■■■■■■■■■■■■■■■■■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■□□□□□□□□□□□□□□□□□□□□□■
■■■■■■■■■■■■■■■■■■■■■■■
レイヤーとしては次のようになります。
1
□ レイヤー 筆・・■|●| ←線
□ レイヤー 筆・・■|●| ←写真
それでさらに,
線のレイヤーにジグソーパズルのような線を描いて行きます。
この↓場合6ピースのつもりです(下手ですが)。
■■■■■■■■■■■■■■■■■■■■■■■
■□□□□□□■□□□□□□■□□□□□□□■
■□□□□□□■■■□□□■■□□□□□□□■
■□□□□□□□□■□□□■□□□□□□□□■
■□□□□□□■■■□□□■■□□■■■□□■
■□□□□□□■□□□□□□■□□■□■□□■
■■■□□■■■■■■□■■■■■■□■■■■
■□■□□■□■□□■■■□■□□□□□□□■
■□■■■■□■■□□□□□■■■□□□□□■
■□□□□□□□■□□□□□□□■□□□□□■
■□□□□□□■■□□□□□■■■□□□□□■
■□□□□□□■□□□□□□■□□□□□□□■
■■■■■■■■■■■■■■■■■■■■■■■
そのとき,
線隙間が開かないように,線どうしはきっちりつなげてください。
↓良い例 ↓悪い例
■■■■■ ■■■■■
□□■□□ □□□□□
□□■□□ □□■□□
□□■□□ □□■□□
そして,
書いたジグソーパズルのような線を全部選択し,
「編集」→「コピー」,
そして,写真のある下のレイヤーを選択した状態で,
「編集」→「同じ位置にペースト」。
これで写真の上に線が引かれた状態になります。
試しに,左上のピースの部分の写真を選択してみると,
その部分の写真だけが選択できると思います。
↓選択
■■■■■■■■■■■■■■■■■■■■■■■
■回回回回回回■□□□□□□■□□□□□□□■
■回回回回回回■■■□□□■■□□□□□□□■
■回回回回回回回回■□□□■□□□□□□□□■
■回回回回回回■■■□□□■■□□■■■□□■
■回回回回回回■□□□□□□■□□■□■□□■
■■■回回■■■■■■□■■■■■■□■■■■
■□■回回■□■□□■■■□■□□□□□□□■
■□■■■■□■■□□□□□■■■□□□□□■
■□□□□□□□■□□□□□□□■□□□□□■
■□□□□□□■■□□□□□■■■□□□□□■
■□□□□□□■□□□□□□■□□□□□□□■
■■■■■■■■■■■■■■■■■■■■■■■
選択した状態で,
「修正」→「シンボルに変換」でムービークリップに変換します。
ムービークリップに変換するときに「基準点」の位置に注意してください。
基準点は「中央」が良いです。
同じ要領で,
切り分けられたピースを全てムービークリップに変換していきます。
全てムービークリップに変換したら,
写真レイヤーの方の線は不要なので,
線の方のレイヤーをロック&非表示にして,
写真の方のレイヤーの線を消しゴムツールなどで消してください。
1
□ レイヤー 筆×錠■|●| ←線 非表示&ロック
□ レイヤー 筆 ・ ・ ■|●| ←写真 線を消す
Flash は線や面の上に面を描くと,
下の線や面が消えますから,
消しゴムツールを使わず,
1色塗りの大きな四角を写真レイヤーに描いても良いです。
その下の線が消せますから楽に線を消すことができます。
線を消したあとで,
1色塗りの大きな四角を消せば塗りも消えます。
そういう感じでできた各ピースのムービークリップに,
次は "インスタンス名" を付けて行きます。
"インスタンス名" は「アルファベット+0~の連番」という名前が良いです。
この説明では6ピースなので,
「piece0」~「piece5」というインスタンス名をつけることにしておきます。
↓piece0 ↓piece1 ↓piece2
■■■■■■■■■■■■■■■■■■■■■■■
■□□□□□□■□□□□□□■□□□□□□□■
■□□□□□□■■■□□□■■□□□□□□□■
■□□□□□□□□■□□□■□□□□□□□□■
■□□□□□□■■■□□□■■□□■■■□□■
■□□□□□□■□□□□□□■□□■□■□□■
■■■□□■■■■■■□■■■■■■□■■■■
■□■□□■□■□□■■■□■□□□□□□□■
■□■■■■□■■□□□□□■■■□□□□□■
■□□□□□□□■□□□□□□□■□□□□□■
■□□□□□□■■□□□□□■■■□□□□□■
■□□□□□□■□□□□□□■□□□□□□□■
■■■■■■■■■■■■■■■■■■■■■■■
↑piece3 ↑piece4 ↑piece5
そして,さらに1レイヤー追加して,
そのレイヤーにActionScriptを書きます。
1
□ レイヤー 筆 ・ ・ ■|○| ←スクリプトを書く
□ レイヤー 筆×錠■|●| ←線 非表示&ロック
□ レイヤー 筆 ・ ・ ■|●| ←写真(ピース)
スクリプトは次のように書いてください。
-----------------------------------------
// 全ピースに対して一気に動作定義
for (i=0; i<=5; i++) {
// マウスで押したとき
_root["piece"+i].onPress = function() {
// ドラッグ開始
this.startDrag(true);
};
// マウスを放したとき
_root["piece"+i].onRelease = function() {
// ドラッグ終了
this.stopDrag(true);
};
// ドラッグアウトしたとき = マウスを放したときと同じ
_root["piece"+i].onDragOut = _root["piece"+i].onRelease;
}
-----------------------------------------
これで,
「制御」→「ムービープレビュー」してもらうと,
SWFがパブリッシュされて,
その SWF のピースがドラッグできると思います。
この状態で,いちど上書き保存して,
さらに新しい別の名前で保存し直す方が良いです。
現状にいつでも戻れるようにしておきます。
=======================
次に,
ピースが戻る位置までドラッグされたら,
ピタッと戻るべき位置に吸着させる方法を説明します。
写真のあるレイヤーの下に,
新規でレイヤーを作成してください。
1
□ レイヤー 筆 ・ ・ ■|○| ←スクリプト
□ レイヤー 筆×錠■|●| ←線 非表示&ロック
□ レイヤー 筆 ・ ・ ■|●| ←写真(ピース)
□ レイヤー 筆 ・ ・ ■|○| ←新規レイヤー
そして,
写真レイヤーにあるピースを全て選択して「編集」→「コピー」,
そして,
新規で追加したレイヤーを選択し,「編集」→「同じ位置にペースト」。
そして,
上の方の写真(ピース)レイヤーを非表示&ロックします。
1
□ レイヤー 筆 ・ ・ ■|○| ←スクリプト
□ レイヤー 筆×錠■|●| ←線 非表示&ロック
□ レイヤー 筆×錠■|●| ←写真(ピース)非表示&ロック
□ レイヤー 筆 ・ ・ ■|●| ←新規レイヤー
それで,
新規レイヤーの方にコピーしたピースのインスタンス名をすべて変えて行きます。
吸着スポットという意味で,
「spot0」~「spot5」というインスタンス名を付けます。
↓spot0 ↓spot1 ↓spot2
■■■■■■■■■■■■■■■■■■■■■■■
■□□□□□□■□□□□□□■□□□□□□□■
■□□□□□□■■■□□□■■□□□□□□□■
■□□□□□□□□■□□□■□□□□□□□□■
■□□□□□□■■■□□□■■□□■■■□□■
■□□□□□□■□□□□□□■□□■□■□□■
■■■□□■■■■■■□■■■■■■□■■■■
■□■□□■□■□□■■■□■□□□□□□□■
■□■■■■□■■□□□□□■■■□□□□□■
■□□□□□□□■□□□□□□□■□□□□□■
■□□□□□□■■□□□□□■■■□□□□□■
■□□□□□□■□□□□□□■□□□□□□□■
■■■■■■■■■■■■■■■■■■■■■■■
↑spot3 ↑spot4 ↑spot5
インスタンス名をつけましたら,
その「spot0」~「spot5」をすべて選択して,
下のプロパティインスペクタで,全ての色を「アルファ0%」にします。
カラー:[アルファ v] [0% ] v
すべてが透明になりましたら,
そのレイヤーにロックをかけておきます。
1
□ レイヤー 筆 ・ ・ ■|○| ←スクリプト
□ レイヤー 筆 ・ 錠■|●| ←線 ロック
□ レイヤー 筆 ・ ・ ■|●| ←写真(ピース)
□ レイヤー 筆 ・ 錠■|●| ←「spot0」~「spot5」 ロック
そして,
一番上のレイヤーのスクリプトをいったん消して,
次のように変えます。
----------------------------------------
// 全ピースに対して一気に動作定義
for (i=0; i<=5; i++) {
// 各ピースに変数 n とその固有番号をセット
_root["piece"+i].n = i;
// マウスで押したとき
_root["piece"+i].onPress = function() {
// ドラッグ開始
this.startDrag(true);
};
// マウスを放したとき
_root["piece"+i].onRelease = function() {
// ドラッグ終了
this.stopDrag(true);
// スポットとピースの中心点がヒットしていたら
if (_root["spot"+this.n].hitTest(this._x, this._y, true)) {
// スポットに吸着
this._x = _root["spot"+this.n]._x;
this._y = _root["spot"+this.n]._y;
}
};
// ドラッグアウトしたとき = マウスを放したときと同じ
_root["piece"+i].onDragOut = _root["piece"+i].onRelease;
}
----------------------------------------
これで,来るべきところにピースがドラッグされたら,
来るべき位置にぴったり吸着します。
あとは,
「piece0」~「piece5」 を無茶苦茶な場所に配置して,
パブリッシュすれば,
ジグソーパズルの完成となります。
「piece0」~「piece5」
という 6ピース で説明しましたが,
もっともっとピースは増やしてかまいませんし,
1つのピースの形も,ジグシーパズル風でも良いですし,
自分流のピースの形でも良いです。
とにかく自由なのですから,
もし,ジグソーパズルを自動で作るような機能があっても邪魔(無駄)なだけでしょう。
もしそういう機能があっても絶対私はそういう機能を使いませんよ。
Flash とはそういうソフトです。
ありきたりな何処かで見たことのあるような既製品のような物ではなく,
オリジナルな何かを自作するソフトです。
作り方ばかり説明しましたが,
ActionScriptなどはこちらが参考になると思います↓。
「当たり判定について」
http://hakuhin.hp.infoseek.co.jp/main/as/hittest …
この回答へのお礼
お礼日時:2007/03/03 22:22
早速の回答ありがとうございます!
100ピースを手作業で作るのは大変そうですが
自分のオリジナルパズルが作れるとのことでやる気がでてきました!
詳しい作り方まで教えていただき本当にありがとうございます!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ホビー) スヌーピー 立体パズル90ピース 1 2022/12/09 23:18
- クラフト・工作 オリジナルパズル制作を依頼できるところが見つからず 2 2022/05/11 17:15
- ホームページ作成・プログラミング Adobe FLASH に代わるソフトはありますか? 4 2022/09/27 19:35
- その他(ホビー) 木製ジグソーパズルの糊付け 1 2022/08/23 08:22
- パズドラ パズドラの動作が重いです 2 2022/04/27 13:41
- マルウェア・コンピュータウイルス FlashPlayerの削除とマルウェア感染について 5 2023/02/23 20:52
- その他(悩み相談・人生相談) 客観的に見て私の適職・天職は何ですか? ①過去に夢中になったものは何か? 絵(幼稚園から今もずっと) 5 2022/07/14 16:36
- デスクトップパソコン ホームページビルダー15 1 2023/05/30 12:30
- 数学 数学パズル 3 2023/01/05 14:45
- その他(恋愛相談) 意味を込めますか?複数回答よろしくおねがいします 1 2022/08/17 00:04
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
photoshopで書いた四角の枠の中...
-
画面切り替えの様々なやり方
-
VBAユーザーホームテキストボッ...
-
IP Address 入力フォームについて
-
'2465'指定した式で参照してい...
-
【ExcelVBA】ファイル名をセル...
-
VBScriptでMsgBoxのYesNoボック...
-
マウス自体の移動量の取得
-
ランダムに4桁の数字を表示する...
-
全てのテキストボックスをセル...
-
別のアプリケーションのテキス...
-
テキストボックスの中身をリセ...
-
jtextareaでの文字化け
-
FlashからPHPへの変数の渡し方...
-
VB.NET2005 DataGridViewでレコ...
-
VBSでMid関数を使ったらエラー...
-
else if文の順序を変えることに...
-
チェックボックスのテキストを...
-
ただただ無駄な
-
フォームの生成と破棄
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
photoshopで書いた四角の枠の中...
-
【Photoshop】レイヤー効果の境...
-
Flash パズル
-
python ボタンを押すと複数の関...
-
UWSCのBTN関数について。
-
テキストボックスの中身をリセ...
-
VBAで改行の入ったデータの正規...
-
VBScriptでMsgBoxのYesNoボック...
-
VBAユーザーホームテキストボッ...
-
【VB.NET】別Formのボタンが押...
-
全てのテキストボックスをセル...
-
static関数がmapファイルに載ら...
-
変数に256文字以上のテキストを...
-
別のアプリケーションのテキス...
-
else if文の順序を変えることに...
-
テキストボックスにセルの値を...
-
アセンブリ言語のcasl2について...
-
VB6.0で、フォームから、別のフ...
-
四乗根を英語で言うと・・・
-
PythonでSetWindowPosを使うに...
おすすめ情報