× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
![]() |
「今回の題材maru6」
|maru6.swf | |キーボードで左右の方向キー押すと左右に動きます |今回はさらに上を押すと跳ねます(笑) ↓スクリプト↓ var ri:Number = 360; var end_ri:Number = 0; var now_r:Number = 0; var jimen_x:Number = 0; var now_maru:Number = 0; //最初に置いてある場所の縦座標を初期値として設定します var end_yi:Number = maru._y; //キャラの動きに直接入れる前の一時的変数(今見ると0でいい気がするw) var re_y:Number = 1; //上昇&下降のための数値 var yi:Number = 0; function f_ri() { ri += (end_ri-ri)/40; if (end_ri-ri>-0.8 && end_ri-ri<0) { ri = end_ri; } maru._rotation = -ri; } function f_jimen_x() { now_r = (end_ri-ri)/45; jimen_x += now_r%50; if (jimen_x<-50 && jimen_x<0) { jimen_x = 50+now_r%50; } else if (jimen_x>50 && jimen_x>0) { jimen_x = now_r%50; } jimen._x = jimen_x; } function f_gomi() { now_maru = ri%2000; g1._x = now_maru+500; g2._x = now_maru/1.2+1000; g3._x = now_maru/1.3-200; } //前回まではKeyDownでやっていましたが反応が最初反応して //しばらくしてから連続反応になるので、常に連続反応にするために //ここのonEnterFrame(フレーム毎動作)に当てはめます function f_kd() { if (Key.isDown(Key.RIGHT)) { end_ri += -80; } else if (Key.isDown(Key.LEFT)) { end_ri += 80; } //上を押すと上へ移動させるために-50を代入します //「&&」(追加条件)は地面より20高い位置からなら代入を許します //これがなければ無制限にどんどん上へ行ってしまいますw if (Key.isDown(Key.UP) && re_y >= end_yi-20) { yi = -50; } } //今回の山場!ぽんぽん跳ねるスクリプトです //キャラの位置を300、押された状況としてyiを-50初期値として考えます //足していって300になればもとの位置です //-50から毎回5ずつ増えます //仮数値に足します //こうすることにより1回目は-45が足され2回目は-40が足されます //re_yの数値は1回目は255、2回目215、180、145、115 //しだいに引かれていた物が足されるようになります(落下にかわる) //引いていくと60で逆になりますそこから //yiが5、10、15と増えていきます //よってre_yは65、75、90となり300以上になるとyiの値を反転させ //最初の上昇下降数値の6割にしますなので-0.6をかけます //-30、-18、-10.8、-6.48..になり同じように繰り返されます //それをキャラに当てはめてる。ということです function f_yi() { yi += 5; re_y += yi; if (re_y>end_yi) { yi = yi*-0.6; re_y = end_yi; } maru._y = re_y; } this.onEnterFrame = function() { f_ri(); f_yi(); f_jimen_x(); f_gomi(); f_kd(); }; それではいつものように感想とか 質問や指摘がありましたらコメントをお願いします PR |
![]() |
![]() |
|
![]() |
トラックバックURL
|
![]() |
忍者ブログ [PR] |