シューティングゲームの作成チュートリアル<敵を破壊する>で, 敵キャラのプログラムとして, for (t in $chars) { if ( t is Tama && crashTo(t) ) die(); } というのがあったと思います. これを for (t in $chars) { if ( t is Tama && crashTo(t) ) { t.die(); //←追加箇所 die(); } } とすると敵と弾が同時に消えます.
跳ね返る処理はこれを応用し,弾のy成分の速度をvyで処理しているとして, for (t in $chars) { if ( t is Tama && crashTo(t) ) { t.vy=-t.vy; //←変更箇所 die(); } } とすると弾が敵に当たるとy成分の速度が反転して跳ね返っているように見えます. ここは跳ね返っている風に見えるように適宜調整してください.
|