extends SpriteChar; function onDie() { appear(new Bomb($ninjaa.x , $ninjaa.y ,$pat_bomb+0)); } $map.setBGColor(color(0,200,255)); // 背景色を設定 anim=newAnimation(); while (1) { hp=8;//HPを決める if(hp>0)drawSprite($screenWidth-20,20,$pat_life+7,0,0);//ライフが0より多いとき if(hp>1)drawSprite($screenWidth-40,20,$pat_life+6,0,0); if(hp>2)drawSprite($screenWidth-60,20,$pat_life+5,0,0); if(hp>3)drawSprite($screenWidth-80,20,$pat_life+4,0,0); if(hp>4)drawSprite($screenWidth-100,20,$pat_life+3,0,0); if(hp>5)drawSprite($screenWidth-120,20,$pat_life+2,0,0); if(hp>6)drawSprite($screenWidth-140,20,$pat_life+1,0,0); if(hp>7)drawSprite($screenWidth-160,20,$pat_life+0,0,0); if(hp<=0)die();//HPが0になったら死ぬ anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_kabe+1) { if (getkey(32)==1) appear(new shuriken(x,y,$pat_shuriken+0)); if (getkey(88)==1) appear(new bunsin(x,y,$pat_ninja2+0)); x+=3; f=0; anim.swing($pat_ninja1+0,$pat_ninja1+2,5); } // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動 if (getkey(37) && $map.getAt(x-16,y)!=$pat_kabe+1) { if (getkey(88)==1) appear(new bunsin(x,y,$pat_ninja2+0)); if (getkey(32)==1) appear(new shuriken2(x,y,$pat_shuriken+0)); x-=3; f=1; anim.swing($pat_ninja1+0,$pat_ninja1+2,5); } // ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動 if (getkey(38) && $map.getAt(x,y-16)!=$pat_kabe+1) { y-=3; f=0; anim.swing($pat_ninja1+0,$pat_ninja1+2,5); } // ↑ カーソルキー上が押され、さらに上側が壁でなければ上へ移動 y+=vy; // vy: y 方向の速度。 yにvy を加える if ($map.getAt(x,y+24)==$pat_kabe+1 ) { // ブロックに当たっていたら vy=0; // 落下速度を0にする if (getkey(38)) vy=-10; // ↑ カーソルキー上を押したらジャンプ } else { // ブロックに当たっていなかったら vy+=0.5; // 落下速度を上げる } $map.scrollTo(x-$screenWidth/2,y-$screenHeight/2); // スクロールする y+=vy; // vy: y 方向の速度。 yにvy を加える if ($map.getAt(x,y+24)==$pat_kabe+1 ) { // ブロックに当たっていたら vy=0; // 落下速度を0にする } else { // ブロックに当たっていなかったら vy+=0.5; // 落下速度を上げる if($map.getAt(x,y+38+vy)!=$pat_kabe+1){ if(vy<0) {anim.swing($pat_ninja2+3);} else {anim.swing($pat_ninja2+4);}} } update(); }