なぜなんでしょうか?
投稿者 : スランス(YahooBB220038166031.bbtec.net)
- 2004/11/27(Sat) 09:37
No.7478
|
|
|
|
|
質問させていただきます。 チュートリアルのシューティングが完成したので、FAQ等を見て、イロイロ機能を付け足してみたのですが、敵にライフをつけたら弾に当たってないのに消滅してしまいます。なぜなんでしょうか?プログラムは extends SpriteChar;
function onDie() { appear(new Bomb(x , y ,$Pat_bakuhatu+0)); }
function atariHantei() { for (t in $chars) { if ( t is Tama && crashTo(t) ) { life=life-1; t.die(); if (life<1) die(); life=2; $score=$score+15; } if (crashTo($myChar)) { $myChar.damage();{ die(); $life=$life-2; } } }
nexty=rnd(50)+100; while (y<nexty ) { y=y+2; atariHantei(); update(); }
if (x<$myChar.x) vx=3; else vx=-3; while (y<$screenHeight) { y=y+3; x=x+vx; atariHantei(); update();
} }
です。お願いします。
|
Re: なぜなんでしょうか?
投稿者 : 零戦(YahooBB220046180020.bbtec.net)
- 2004/11/27(Sat) 10:02
No.7479
|
|
|
|
atariHanteiメソッドの life = 2; というのを削除して、onAppearメソッドに書いてください。 life変数を初期化する前に判定しているのでatariHanteiを実行すると消滅します。
|
Re: なぜなんでしょうか?
投稿者 : スランス(YahooBB220038166031.bbtec.net)
- 2004/11/27(Sat) 10:25
No.7480
|
|
|
|
すいません、初心者なんで全然わからないです^^; こうすればいいんでしょうか?(ヘルプを見ましても何がなにやら・・)
function atariHantei() { for (t in $chars) { if ( t is Tama && crashTo(t) ) { life=life-1; t.die(); if (life<1) die(); life=2; $score=$score+15; } ↓↓↓ function atariHantei() { for (t in $chars) { if ( t is Tama && crashTo(t) ) { life=life-1; t.die(); if (life<1) die(); onAppear(){ life=2; } $score=$score+15; }
|
Re: なぜなんでしょうか?
投稿者 : スランス(YahooBB220038166031.bbtec.net)
- 2004/11/27(Sat) 10:33
No.7481
|
|
|
|
すいません、直りました。 function atariHantei() { for (t in $chars) { if ( t is Tama && crashTo(t) ) { life=life-1; t.die(); if (life<1) die(); life=2; $score=$score+15; } を
function atariHantei() { for (t in $chars) { if ( t is Tama && crashTo(t) ) { life=life-1; t.die(); if (life<1) die(); } } } life=2; $score=$score+15; としたらいけました。 零戦様、有り難う御座いました
|
|