× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
![]() |
「今回の題材maru7」
|maru7.swf | |キーボードで左右の方向キー押すと左右に動きます |上を押すと跳ねます |今回は不要調味料専用ゴミ箱に当たると跳ね返りますw 今回は今までかなーり忘れていたステージ(画面上)のムービークリップ(キャラ) について少し解説します。 参考画像 インスタンス: 目に見えるものだとボタンやムービークリップなどの種類があります 見えないものだと音とかですね こういうものを作る場合はムービークリップが多いかな インスタンス名は動かしたりするときに、どれか分かるようにしたいので 適切なインスタンス名を付けましょうw ムービークリップの中にムービークリップなどを作ることができます その場合のインスタンスの指定は.で区切ります (例えば調味料棚というオブジェクトの中にしょうゆというオブジェクトがあると 調味料棚.しょうゆ となります} ↓さて。スクリプト(初期値設定とfunctionの一部を省略)↓ //バグの原因となる/1.2などを削除(あると跳ね返った後ろにゴミ箱が出てきますw) function f_gomi() { now_maru += now_r; g1._x = now_maru%2000+700; g2._x = now_maru%2000+1200; g3._x = now_maru%2000+1900; go._x += now_r; } //ゴミ箱との当たり判定「hitTest」 //if( 調味料ゴミ箱 .hitTest(不要物) ){ 蓋を開ける } //↑ifで判断させると「もし調味料ゴミ箱が不要物とぶつかっていれば蓋を開ける」 //となります //「eval」は文字と変数を組み合わせて変数として認識させることもできます //変数(ここではgnumに1~4の数字が入る) //g1、g2...になり、そこの中にあるgomiというインスタンスと //maruの中にあるmaruというインスタンスの当たり判定を調べます //処理内容は進もうとしていた最終地点の*1.6倍戻されますw //乗っかるとぽんぽん上に跳ねて戻らなくなると困るので+20移動 function f_ghit(gnum) { if (eval("g"+gnum).gomi.hitTest(maru.maru)) { end_ri = end_ri-(end_ri-ri)*1.6+20; yi = -17; } } //「for」繰り返し処理です //for (しょうゆ=空; しょうゆ<皿の半分; しょうゆを足す){ 瓶を傾ける } //最初しょうゆが空で始まり皿の半分になるまでしょうゆを足していきます //足している間は、瓶を傾け続けろ!という処理です //「function」他のところで設定した処理をここで行う // 実行内容が 調味料( 塩 ) // functionが 調味料 ( 入れるもの ){ 瓶=入れるもの } //そうするとfunctionが 調味料( 塩 ){ 瓶=塩 } として実行されます //“入れるもの”がある場所の値を引数といいます //ここでは毎回足されていく数値をf_ghitの引数に入れ //f_ghitの処理のevalで結合されg1の、1とか2の部分になります this.onEnterFrame = function() { f_ri(); f_yi(); f_jimen_x(); f_gomi(); f_kd_lis(); for (gi=1; gi<4; gi++) { f_ghit(gi); } }; それではいつものように感想とか 質問や指摘がありましたらコメントをお願いします PR |
![]() |
![]() |
|
![]() |
トラックバックURL
|
![]() |
忍者ブログ [PR] |