弾が・・・・・
投稿者 : suraimu(YahooBB218113076013.bbtec.net)
- 2004/03/30(Tue) 15:11
No.5789
|
|
|
|
|
いま、アクションゲームをつくっていて、たまを撃つと、右にはとぶのですが、ひだりには、飛びませんどうすればいいでしょうか。
|
Re: 弾が・・・・・
投稿者 : ユウコ(p32082-adsau06atuta2b2-acca.aichi.ocn.ne.jp)
- 2004/03/30(Tue) 16:00
No.5790
|
|
|
|
もう少し詳しい状況を書き込むと、回答者も回答しやすいです。 多分、 「自機が右向きの時に「たま」を撃つと「たま」が右向きに飛び、 自機が左向きの時に「たま」を撃つと「たま」が左向きが飛ぶ。」 このようにしたいのだと思いますが、合ってますか?
|
Re: 弾が・・・・・
投稿者 : デックン(YahooBB220018124020.bbtec.net)
- 2004/03/30(Tue) 19:12
No.5793
|
|
|
|
Re: 弾が・・・・・
投稿者 : suraimu(YahooBB218113076013.bbtec.net)
- 2004/03/30(Tue) 19:38
No.5797
|
|
|
|
すみません。 いそいでいたので書き忘れていました・・・・ 自機 extends SpriteChar;
$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_ZcRUo+0,$pat_ZcRUo+2,10); } // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動 if (getkey(37) && $map.getAt(x-16,y)!=$pat_Block+0) { x-=3; f=1; anim.swing($pat_ZcRUo+0,$pat_ZcRUo+2,10); } // ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動 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_ZcRUo+10));
update(); }
弾 extends SpriteChar; while(y>0) { x=x+5; { f=0; } update(); } あと、前にも書いたんですがファィルをつけて投稿する方法がいまいちわかりません。 どうすればいいのでしょうか。
|
Re: 弾が・・・・・
投稿者 : デックン(YahooBB220018124020.bbtec.net)
- 2004/03/30(Tue) 23:29
No.5802
|
|
|
|
書き込み回数:1回 解決回数:0回 回答回数:1回 解決率:0%
添付は、ゲームを圧縮します。 圧縮するソフトは、ベクター等で手に入れてください。 * * つまり、弾が一定の方向にしか飛ばないって言うことですね。 下のように変更してください。 -------------------------- 自機 -------------------------- extends SpriteChar;
$map.setBGColor(color(0,200,255)); // 背景色を設定 $Tamaspeed=5; // 弾のスピード anim=newAnimation(); while (1) { anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_Block+0) { x+=3; f=0; vx=$Tamaspeed;
anim.swing($pat_ZcRUo+0,$pat_ZcRUo+2,10); } // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動 if (getkey(37) && $map.getAt(x-16,y)!=$pat_Block+0) { x-=3; f=1; vx=-$Tamaspeed;
anim.swing($pat_ZcRUo+0,$pat_ZcRUo+2,10); } // ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動 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_ZcRUo+10));
update(); }
-------------------------- 弾 --------------------------
extends SpriteChar; while(1) { x+=vx;y+=vy; update(); }
見にくい表示ですみません。。。
|
Re: 弾が・・・・・
投稿者 : suraimu(YahooBB218113076013.bbtec.net)
- 2004/03/31(Wed) 12:10
No.5805
|
|
|
|
デックンさんのプログラムを書いてみたんでんですが、 弾が、すこしもとんでいってくれません。 原因は、プログラムのどこでしょうか。 自機 extends SpriteChar;
$map.setBGColor(color(0,200,255)); // 背景色を設定 $Tamaspeed=5; // 弾のスピード anim=newAnimation(); while (1) { anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_Block+0) { x+=3; f=0; vx=$Tamaspeed;
anim.swing($pat_ZcRUo+0,$pat_ZcRUo+2,10); } // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動 if (getkey(37) && $map.getAt(x-16,y)!=$pat_Block+0) { x-=3; f=1; vx=-$Tamaspeed;
anim.swing($pat_ZcRUo+0,$pat_ZcRUo+2,10); } // ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動 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_ZcRUo+10));
update(); }
弾 extends SpriteChar; while(1) { xv+=x;y+=vy; } update();
|
提案
投稿者 : suraimu(YahooBB218113076013.bbtec.net)
- 2004/03/31(Wed) 13:21
No.5806
|
|
|
|
提案なんですが、 ゲットキー○○を押した後、スペースキーを押したら自機が向いているほうにとんでいくんじゃないでしょうか・・・・・
|
Re: 弾が・・・・・
投稿者 : デックン(YahooBB220018124020.bbtec.net)
- 2004/03/31(Wed) 15:56
No.5810
|
|
|
|
書き込み回数:2回 解決回数:0回 回答回数:2回 解決率:0%
失礼しました。
自機をこのようにすればいいと思います。 extends SpriteChar;
$map.setBGColor(color(0,200,255)); // 背景色を設定 $Tamaspeed=5; // 弾のスピード anim=newAnimation(); while (1) { anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_Block+0) { x+=3; f=0; vx=$Tamaspeed;
anim.swing($pat_ZcRUo+0,$pat_ZcRUo+2,10); } // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動 if (getkey(37) && $map.getAt(x-16,y)!=$pat_Block+0) { x-=3; f=1; vx=-$Tamaspeed;
anim.swing($pat_ZcRUo+0,$pat_ZcRUo+2,10); } // ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動 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) { nobj=appear(new Tama(x,y,$pat_sample)); nobj.vx=vx; nobj.vy=vy; }
update(); }
|
Re: 弾が・・・・・
投稿者 : suraimu(YahooBB218113076013.bbtec.net)
- 2004/03/31(Wed) 19:43
No.5819
|
|
|
|
デックンさんありがとうございました。 完成したら、アップロードセンターにだすので評価してください。
|
|