プレイヤーが敵に当たったときに,一定時間無敵になって連続で敵に当たらないようにします.
Main
new Enemy{x=rnd($screenWidth),y=rnd($screenHeight),p=8};
new Enemy{x=rnd($screenWidth),y=rnd($screenHeight),p=8};
new Enemy{x=rnd($screenWidth),y=rnd($screenHeight),p=8};
new Player{x=$screenWidth/2,y=$screenHeight/2};
Player
c=0;//c>0なら無敵,c==0なら無敵でない
life=5;
while(true){
x=$mouseX;
y=$mouseY;
if(crashTo(Enemy) && c<=0){
// 無敵でない場合のみ,ここが実行される
c=30;//無敵時間を30フレーム(1秒)に設定
// 体力を減らす
life--;
print("Life",life);
if (life<=0) die();
}
//無敵中であれば無敵時間を減らす
if (c>0) c--;
//無敵中に点滅させる処理
if (c%2==0) alpha=255; else alpha=0;
update();
}
Enemy
//何も書かなくてもよいが,ファイルEnemyは作成する