dポイントプレゼントキャンペーン実施中!

FlashのAS3.0でhttp://www.geocities.jp/flashiroha/script/as11.h …
のような、ランダムに再生されるモーションが作りたいです。

宜しくお願い致します。

A 回答 (1件)

その ランダムモーション とやらがどれを指すのかわかりませんが


「1.位置無作為にインスタンスを発生させる。」
を ActionScript 3.0 流に書き直すなら次のようになります。



まず 300×200px に設定したステージ上に★を描き
その★を基準点「中央」にしたムービークリップに変換します。

するとライブラリにそのムービークリップが登録されるので
そのライブラリのムービークリップを選択して
「プロパティ」より
 □ActionScript用に書き出し
にチェックを入れ
「クラス」に例えば「Star」という名前を付けます。
※【添付図】参照↓

また
ステージ上には
「start」ボタンと「reset」ボタンを用意して
それぞれには
「start_btn」,「reset_btn」という "インスタンス名" を付けておきます。
また
ステージ上の★ムービークリップは削除しておきます。

そしてタイムラインのフレーム1に次のようなスクリプトを書きます。

--------------------------------
//変数 i の宣:整数
var i:int;

//makeStarの定義
function makeStar(e:Event):void {
if (i <= 50) {
this["star" + i] = new Star();
this["star" + i].x = Math.random() * 300;
this["star" + i].y = Math.random() * 200;
this["star" + i].alpha = 0.1;
this["star" + i].addEventListener(Event.ENTER_FRAME,rotateStar);
this.addChild(this["star" + i]);
i++;
} else {
this.removeEventListener(Event.ENTER_FRAME,makeStar);
}
}

//rotateStar の定義
function rotateStar(e:Event):void {
e.target.rotation += 30;
if (e.target.alpha<1) {
e.target.alpha+=0.05;
} else {
e.target.alpha=1;
}
}

//start_btnクリック時に startMakeStar を実行
start_btn.addEventListener(MouseEvent.CLICK,startMakeStar);

//startMakeStar の定義
function startMakeStar(e:MouseEvent):void {
i=0;
this.addEventListener(Event.ENTER_FRAME,makeStar);
reset_btn.addEventListener(MouseEvent.CLICK,resetMakeStar);
start_btn.removeEventListener(MouseEvent.CLICK,startMakeStar);
}

//resetMakeStar の定義
function resetMakeStar(e:MouseEvent):void {
for (var j:int=0; j<=50; j++) {
if (this["star"+j]!=null) {
this.removeChild(this["star"+j]);
this["star"+j] = null;
}
}
this.removeEventListener(Event.ENTER_FRAME,makeStar);
start_btn.addEventListener(MouseEvent.CLICK,startMakeStar);
reset_btn.removeEventListener(MouseEvent.CLICK,resetMakeStar);
}
--------------------------------



回答文字数制限の都合上
コメント行 ( // で始まる行) が十分書けませんでした(悪しからず)。
「flashAS3.0でのランダムモーショ」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!