extends SpriteChar; f==1; //歩行プログラム=========================================================== $map.setBGColor(color(0,200,255)); //背景色の変更 p=$pat_+0; anim=newAnimation(); while(1){ anim.pause(); if (getkey(39)>2) { //右のキーが押されたとき anim.swing($pat_+1,$pat_+2); //キャラクタのアニメーション if ($map.getAt(x+16,y)!=$pat_map+1) x=x+1; //右が壁でないなら右へ1ドット移動 f=-1; //右を向く } if (getkey(37)>2) { //左のキーが押されたとき anim.swing($pat_+1,$pat_+2); //キャラクタのアニメーション if ($map.getAt(x-16,y)!=$pat_map+1) x=x-1; //左が壁でないなら左へ1ドット移動 f=1; //左を向く } if ($map.getAt(x,y+16)==$pat_map+1) { //ブロックに当たった場合 vy=0; //落下速度を0にする y=trunc(y/32)*32+16; //y座標をブロックの上に移動する } else { //ブロックに当たっていなかった場合 vy=vy+0.5; //落下速度を上げる } if (getkey(67)==1 && $map.getAt(x,y+16)==$pat_map+1) vy=-10; y=y+vy; vx=0; update(); } //歩行プログラム=========================================================== //ジャンププログラム======================================================= while(1){ if (wY== 1 && getkey(67)==1) {vy=-5;jmp=1;} //下の壁に接していて、スペースが押されたらジャンプする if (wY== 0) {if($map.getAt(x,y)==$pat_map+1){vy+=0.4;}} if (wY== 0) {if($map.getAt(x,y)==$pat_map+2){vy+=0.4;}} update(); } //ジャンププログラム======================================================== //攻撃====================================================================== f==1; while(1) { if (f==-1 && getkey(88)==1)appear(new 弾(x.y.$pat_+4)); if (f==1 && getkey(88)==1)appear(new 弾2(x.y.$pat_+4)); //Xが押された時、右を向いていたら弾を、左を向いていたら弾2を出現 update(); } //攻撃======================================================================