![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?8acaa2e)
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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
photoshopで書いた四角の枠の中...
-
【Photoshop】レイヤー効果の境...
-
VBAで改行の入ったデータの正規...
-
四乗根を英語で言うと・・・
-
node* ってなんなのでしょうか?
-
HTMLからFLASHに変数を送り、内...
-
別のアプリケーションのテキス...
-
Flash Liteのムービークリップ...
-
PYTHONのtkinterについて
-
'2465'指定した式で参照してい...
-
テキストサービスについて
-
変数名に変数を使う
-
五芒星は、悪魔崇拝とどういう...
-
アセンブリ言語のcasl2について...
-
マウスオーバーで色が薄くなる...
-
【VB.NET】別Formのボタンが押...
-
pdfのテキスト全文コピー、テキ...
-
else if文の順序を変えることに...
-
Flash8 リンクの挿入の仕方
-
当たり判定で一度だけ音をなら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
photoshopで書いた四角の枠の中...
-
【Photoshop】レイヤー効果の境...
-
目と言う文字を記号で作る
-
画像ロールイン・ロールアウト
-
【Flash】マスクでスポットライ...
-
場面が移り変わるときかっこよ...
-
Flash パズル
-
PlgBltのマスク処理
-
画面に描画した場合の深度はど...
-
マスクにグラデーションをかけ...
-
植物が伸びていくようなアニメ...
-
Flashでスタンドアーロン形式で...
-
ポップアップ
-
画像を切り替える時のエフェク...
-
Photoshopの基本的な参考書を...
-
ステージ全体にマスクを
-
Flashコンテンツにz-indexは効...
-
テキストボックスの中身をリセ...
-
python ボタンを押すと複数の関...
-
変数に256文字以上のテキストを...
おすすめ情報