extends SpriteChar; vx=5; // 進行方向 a=newAnimation(); // AnimationAdapterを作成 a.loop($pat_Enemy2+0,$pat_Enemy2+1,10); // 敵の2つのパターンを往復するアニメーション while (1){ if ($map.getAt(x,y+24)==$pat_Block+0 ) { // ブロックに当たっていたら vy=0; // 落下速度を0にする } else { // ブロックに当たっていなかったら vy+=0.5; // 落下速度を上げる } if (crashTo($snowMan)) { // 自機とぶつかったら if ( $snowMan.y < y-8 && $snowMan.vy>0 ) { // 自機は敵より少し上にいて、下方向に速度をもっているならば die(); // 敵が死ぬ $snowMan.vy=-6; // 自機がはねあがる } else { $snowMan.die(); // そうでなければ自機が死ぬ } } if ($map.getAt(x+vx,y)==$pat_Block+0){ // 進行方向のマップパターンがブロックでなかったら a.pause(); // 待機前にアニメーションを止める updateEx(20); // 20フレーム待機 a.resume(); // 待機後にアニメーション再開 vx=-vx; // 進行方向を反転する x+=vx; // 進行方向へ進む if (vx<0) f=1; else f=0; // vx が負(左向き)なら反転 } update(); }