質問
投稿者 : tack(p0442-ip03osakakita.osaka.ocn.ne.jp)
- 2003/01/18(Sat) 18:55
No.2394
|
|
|
|
|
2394.lzh
質問です。 主人公(KIABY.TONYU)の張っているプログラムをそのままに、 左を向けば左に、右をむけば右に、弾を撃つにはどうすればいいのでしょうか?
|
Re: 質問
投稿者 : しばたい(YahooBB218132060114.bbtec.net)
- 2003/01/18(Sat) 19:27
No.2398
|
|
|
|
Re: 質問
投稿者 : tack(p0798-ip07osakakita.osaka.ocn.ne.jp)
- 2003/01/18(Sat) 21:47
No.2401
|
|
|
|
あらら $map.setBGColor(color(0,200,255)); // 背景色を設定 anim=newAnimation(); while (1) { anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_Block+0) {
x+=3; f=0; anim.swing($pat_player+0,$pat_player+2,5); } // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動 if (getkey(37) && $map.getAt(x-16,y)!=$pat_Block+0)
{ x-=3; f=1; anim.swing($pat_player+0,$pat_player+2,5); } // ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動 y+=vy; // vy: y 方向の速度。 yにvy を加える if ($map.getAt(x,y+24)==$pat_Block+0 ) { // ブロックに当たっていたら vy=0; // 落下速度を0にする if (getkey(38)) vy=-10; // スペースキーを押したらジ } else { // ブロックに当たっていなかったら vy+=0.5; // 落下速度を上げる } $map.scrollTo(x-$screenWidth/2,y-$screenHeight/2); // スクロールする
if (getkey(32)==1) appear(new Tama(x,y,$pat_Sample+1)); update(); } を変えずにやろうと思ったけど無理みたいですね
|
Re: 質問
投稿者 : tack(p0798-ip07osakakita.osaka.ocn.ne.jp)
- 2003/01/18(Sat) 21:58
No.2402
|
|
|
|
だれかソース教えてくれる人がいたら教えて下さい 何から何まですいません。
|
Re: 質問
投稿者 : T(catv-149-091.tees.ne.jp)
- 2003/01/19(Sun) 09:38
No.2408
|
|
|
|
TAMAを次のようにしてみてください。
extends SpriteChar;
if ($kiaby.f) vx=-8; else vx=8;
while(x<$viewX+$screenHeight){ x+vx; update(); }
|
Re: 質問
投稿者 : T(catv-149-091.tees.ne.jp)
- 2003/01/19(Sun) 10:13
No.2409
|
|
|
|
これで実行してみたら、下のNo.2395の質問の内容も 改善されているようです。
|
Re: 質問
投稿者 : tack(p0122-ip04osakakita.osaka.ocn.ne.jp)
- 2003/01/19(Sun) 12:48
No.2412
|
|
|
|
こんな感じでいいんでしょうか?
自分
extends SpriteChar;
function onDie() {
appear(new Bomb($kiaby.x , $kiaby.y ,$pat_Sample+4));
}
$map.setBGColor(color(0,200,255)); // 背景色を設定 anim=newAnimation(); while (1) { anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_Block+0)
{ x+=3; f=0; anim.swing($pat_player+0,$pat_player+2,5); } // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動 if (getkey(37) && $map.getAt(x-16,y)!=$pat_Block+0) { x-=3; f=1; anim.swing($pat_player+0,$pat_player+2,5); } // ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動 y+=vy; // vy: y 方向の速度。 yにvy を加える if ($map.getAt(x,y+24)==$pat_Block+0 ) { // ブロックに当たっていたら vy=0; // 落下速度を0にする if (getkey(38)) vy=-10; // スペースキーを押したらジャンプ if (getkey(32)==1) appear(new Tama(x,y,$pat_Sample+1)); } else { // ブロックに当たっていなかったら vy+=0.5; // 落下速度を上げる } $map.scrollTo(x-$screenWidth/2,y-$screenHeight/2); // スクロールする update(); }
|
Re: 質問
投稿者 : tack(p0122-ip04osakakita.osaka.ocn.ne.jp)
- 2003/01/19(Sun) 12:49
No.2413
|
|
|
|
弾
extends SpriteChar;
if ($kiaby.f) vx=-10; else vx=10;
while(x<$viewX+$screenHeight){ x+=10; update(); }
|
Re: 質問
投稿者 : T(catv-149-091.tees.ne.jp)
- 2003/01/19(Sun) 15:40
No.2419
|
|
|
|
すいません。間違えたようです。 弾のwhile(x<$viewX+$screenHeight)を while(x<$viewX+$screenWidth)にしてください。
|
Re: 質問
投稿者 : tack(p0406-ip07osakakita.osaka.ocn.ne.jp)
- 2003/01/19(Sun) 17:02
No.2420
|
|
|
|
あ、途中で消えるバグがなくなりました! ありがとうございます
|
Re: 質問
投稿者 : tack(p1015-ip06osakakita.osaka.ocn.ne.jp)
- 2003/01/19(Sun) 18:28
No.2421
|
|
|
|
2421.lzh
あーいかん どうKIBY.TONYUのプログラムを改造しても バグるしうまくできない・・・。
|
Re: 質問
投稿者 : ナオヤン(EAOcf-265p181.ppp15.odn.ne.jp)
- 2003/01/20(Mon) 14:18
No.2422
|
|
|
|
「変数vyが定義されていません」と出るのは、新しく出されたTAMAの変数vyが定義(初期化)されていないからです。 TAMAのプログラムの最初に vy; もしくは、vy=0;と入力してみてください。
|
|