敵を踏んだら倒せるアクションゲーム
投稿者 : ・・・(YahooBB220012168093.bbtec.net)
- 2003/01/28(Tue) 09:26
No.2467
|
|
|
|
|
myCharか敵に問題があると思うんですが 敵を踏んだ瞬間からずっと処理速度が遅くなります なのでここにプログラムを書くので訂正してください 【敵(snowMan)】 extends SpriteChar; vx=2; // 進行方向 a=newAnimation(); // AnimationAdapterを作成 a.loop($pat_player+0,$pat_player+2,5); // 敵の2つのパターンを往復するアニメーション while (1) { if (crashTo($myChar)) {$mplayer.play($se_Rbyun); // 自機とぶつかったら if ( $myChar.y < y-8 && $myChar.vy>0 ) { // 自機は敵より少し上にいて、下方向に速度をもっているならば die(); // 敵が死ぬ $myChar.vy=-5; // 自機がはねあがる } else { $mplayer.play($se_01); $myChar.die(); // そうでなければ自機が死ぬ $projectManager.loadPage($page_gameover); } } if ($map.getAt(x+vx,y)==$pat_Block+0 || $map.getAt(x+vx,y+32)!=$pat_Block+0) { // 進行方向のマップパターンがブロック、または斜め下がブロックでなかったら a.pause(); // 待機前にアニメーションを止める updateEx(30); // 30フレーム待機 a.resume(); // 待機後にアニメーション再開 vx=-vx; // 進行方向を反転する } x+=vx; // 進行方向へ進む if (vx<0) f=1; else f=0; // vx が負(左向き)なら反転 update(); }
【myChar】 extends SpriteChar;
$map.setBGColor(color(0,200,255)); // 背景色を設定 anim=newAnimation(); while (1) { anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_Block+0) { x+=3; f=0; anim.swing($pat_Enemy1+0); } // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動 if (getkey(37) && $map.getAt(x-16,y)!=$pat_Block+0) { x-=3; f=1; anim.swing($pat_Enemy1+0); } // ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動 y+=vy; // vy: y 方向の速度。 yにvy を加える if ($map.getAt(x,y+24)==$pat_Block+0 ) { // ブロックに当たっていたら vy=0; // 落下速度を0にする if (getkey(32)) vy=-10; // スペースキーを押したらジャンプ } else { // ブロックに当たっていなかったら vy+=0.5; // 落下速度を上げる } $map.scrollTo(x-$screenWidth/2,y-$screenHeight/2); // スクロールする update(); }
スミマセン読むの大変だったでしょう
|
Re: 敵を踏んだら倒せるアクションゲーム
投稿者 : ・・・(YahooBB220012168093.bbtec.net)
- 2003/01/28(Tue) 11:32
No.2468
|
|
|
|
|