- ベストアンサー
flash CS5でのループ画面の作成について
http://www.toto.co.jp/ 以前にも質問がありましたが、ソフトを習い始めて間もないので よくわからなかったので、あつかましく投稿させて頂いております バージョンはCS5でActionScript3.0での作成です。 画像をループして何枚かの画像をループさせる方法を教えて下さい… シンボル変換でグラフィックにするとプロパティでループという項目がありますが こちらを使うのでしょうか??? それともモーショントゥイーン???不慣れなので理解力に乏しいもので よろしくお願い申し上げます)))))
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
グラフィックインスタンスのループ指定は そのインスタンス内のタイムラインを複数フレームにしてアニメーションを作ったときに インスタンス内タイムラインをループ再生させるかどうかという設定ですからご質問とは関係がありません。 「FLASH学習・技法 シンボル」 http://www17.ocn.ne.jp/~wolves/SCHOOL/lecG/lecG2_3.html =/=/=/=/=/=/=/=/=/=/=/=/=/= ご質問本題のループですが 昨日私が偶然他の方に回答した#2の回答に似ています。 Q「Flashでの質問です。」 http://okwave.jp/qa/q6531277.html これをこのご質問に則した形で書き直します。 仮に写真(写真入りボタン)が「A」「B」「C」「D」「E」という5枚あって ステージ上に配置してあるものとします。 またその写真を引っ付けて横に並べたときにステージの横幅を超えるものとします。 この場合, その5枚の写真をコピペで2倍の10枚に増やし ABCDEABCDE のように引っ付けて横に並べます。 その10枚全てを選択して 「修正」→「シンボルに変換」で 1つのムービークリップ(以下 MC と略) に変換します。 そのときに "基準点" を左上にして変換します。 MCを配置する場所は適当で良いです。 【図】↓参照のこと。 その作成したMCを選択して 「プロパティ」パネルを表示させ <インスタンス名>欄でそのMCにインスタンス名を付けます。 ここでは「photo_mc」というインスタンス名を付けたとしておきます。 その「photo_mc」があるレイヤーとは別に 新規レイヤーを追加し そのレイヤーの空白キーフレームに次のようなスクリプトを書きます(コピペ可)。 ------------------------ //動く速さを設定(適当に変える) var speed:Number = 10; //photo_mcに毎フレーム時間でmoveMCを実行する //イベントリスナーを登録 photo_mc.addEventListener(Event.ENTER_FRAME,moveMC); //関数 moveMC の定義 function moveMC(e:Event):void{ //photo_mcのx座標をspeedだけ右に移動 e.target.x += speed; // //もしphoto_mcのx座標が 0 より大きくなれば if (e.target.x > 0) { //photo_mcの横幅の半分だけ左に移動 e.target.x -= e.target.width / 2; } } ------------------------ 他にもループさせる手法(原理/考え方)はありますが いずれにしてもループしているように見せかける何らかの手品です。 この 写真をあらかじめ 2倍(または 3倍,4倍…) に複製しておいて それら全体を動かすという方法が スクリプトも複雑にならず簡単だと思います。 もし 最初の5枚の写真を引っ付けて横に並べたときにステージの横幅を超えない場合は 3倍 や 4倍… にしてステージに並べてMCに変換し その MC の x座標が 0 より大きくなれば MCの横幅の 1/3 や 1/4 … だけ左に移動させるようにスクリプトを変更します。
お礼
お礼が大変遅くなりました、申し訳ありません! とても参考になり助かりました^^; ご丁寧にありがとうございます^^!!