2007/04/26 23:18
flash10-制作2
まとめその1
まずMCを3つ作って(MC_circle1~MC_circle3(テストなのでただの円画像)、それぞれにリンケージを設定。リンケージの意味は理解できてないけど、こういう時に使うものなんだと無理やり理解。
次に空のMCを作って(MC_set)、それをシーン上に配置。
シーンの1フレーム目に次のASを記述。
for (i=0; i
load_number = Math.floor(Math.random()*3)+1;
MC_set.attachMovie("circle"+load_number, "circle"+i, i);
rdm_x = Math.floor(Math.random()*(_root._width-150))+51;
rdm_y = Math.floor(Math.random()*(_root._height-75))+26;
MC_set["circle"+i]._x = rdm_x;
MC_set["circle"+i]._y = rdm_y;
rdm_scale = Math.floor(Math.random()*100)+51;
MC_set["circle"+i]._xscale = MC_set["circle"+i]._yscale = rdm_scale;
}
日本語訳
for (50回繰り返し) {
load_number = ランダムで1~3を抽出;
次のMCを読み込む("MC_circle"+上記の数字, "これが新しい名前", 深度);
初期位置のx座標 = ムービーの横幅=nとして、51~n-99の間からランダムに抽出;
初期位置のy座標 = ムービーの横幅=mとして、26~m-49の間からランダムに抽出;
rdm_scale = 大きさ0.5倍~1.5倍からランダムに抽出;
横幅 = 縦幅 = rdm_scale;
}
ただこのまままだと円の画像は静止したままだから、MC_circle1~MC_circle3の円に直接ASを記述。
onClipEvent (load) {
rdm_movex = Math.floor(Math.random()*5)+1;
rdm_pm = Math.floor(Math.random()*2);
if(rdm_pm==0){
rdm_movex *= -1;
}
rdm_movey = Math.floor(Math.random()*2)+1;
rdm_pm = Math.floor(Math.random()*2);
if(rdm_pm==0){
rdm_movey *= -1;
}
}
onClipEvent (enterFrame) {
this._x += rdm_movex;
this._y += rdm_movey;
}
日本語訳
最初に1回だけ実行{
rdm_movex = ランダムで1~5を抽出;
rdm_pm = ランダムで0~1を抽出;
rdm_pmが0ならrdm_movexにマイナス符号をつける
rdm_movey = ランダムで1~2を抽出;
rdm_pm = ランダムで0~1を抽出;
rdm_pmが0ならrdm_moveyにマイナス符号をつける
}
このMCがシーン上にある限り常に実行 {
横方向の移動速度 += rdm_movex;
縦方向の移動速度 += rdm_movey;
}
骨組みは完成。
どうやら作るのが楽しいぞっと!