始めまして。聞きたいことがあります。
投稿者 : 内海裕(I049245.ppp.dion.ne.jp)
- 2002/10/27(Sun) 20:27
No.1898
|
|
|
|
|
みなさん、初めまして。始めてこの掲示板に投稿する内海 裕 です。小学五年生です、よろしくおねがいします。 質問ですが、アクションゲームを作っているのですが、ジャンプして、敵を踏んで、更に上に跳ぶという方法は、どうやればいいのでしょう。やり方を誰か教えてください。お願いします。
|
Re: 始めまして。聞きたいことがあります。
投稿者 : りょうた(TYOba-30p184.ppp13.odn.ad.jp)
- 2002/10/27(Sun) 21:07
No.1899
|
|
|
|
初めまして。
ジャンプして、敵を踏んで、更に上ですか。 踏んだら上向き加速度をふやして・・・
while(1){ //・・・移動処理 if (getkey(32)) vy=-10; // スペースキーを押したらジャンプ if($map.getAt(x,y+16)==$pat_○+○) vy+=0.5; y+=vy; for (e in $chars) { //当たり判定 if (e is Teki && crashTo(e) && e.y < y){ e.die(); vy=-10; } else if(e is Teki && crashTo(e)) die(); } update(); }
こんなことをしたら出来ると思うのだが・・・。 どんなゲームか分からないので圧縮したプログラムを添付してもらえると答えやすくなります。
|
Re: 始めまして。聞きたいことがあります。
投稿者 : 内海裕(I048104.ppp.dion.ne.jp)
- 2002/10/29(Tue) 18:38
No.1910
|
|
|
|
Re: 始めまして。聞きたいことがあります。
投稿者 : 内海裕(I048104.ppp.dion.ne.jp)
- 2002/10/29(Tue) 19:20
No.1911
|
|
|
|
もう一つ質問があります。 書いてくれた文を、どこに入れればいいか、○+○の意味はなんなのかを教えてください。 僕が書きたいのは、
extends SpreteChar;
$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; if (getkey(32)) vy=-10; } else { vy+=0.5; } $map.scrollTo(x-$screenWidth/2,y-$screenheight/2); //スクロールする update(); }
の中に入れたいのですが。 どうか教えてください!
|
Re: 始めまして。聞きたいことがあります。
投稿者 : りょうた(TYOba-30p184.ppp13.odn.ad.jp)
- 2002/10/29(Tue) 19:43
No.1912
|
|
|
|
extends SpreteChar;
$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;
if (getkey(32)) vy=-10;//スペースでジャンプ } else { vy+=0.5; } for (e in $chars) { //当たり判定 if (e is △△ && crashTo(e) && e.y < y){ //クラス△△のオブジェクトに衝突していて、 //それよりも上にいたら、 e.die();//それを殺して、 vy=-10;//もう一度ジャンプ } else if(e is △△ && crashTo(e)) die();//敵より下にいる状態で当たったら死にます。 } $map.scrollTo(x-$screenWidth/2,y-$screenheight/2); //スクロールする update(); }
△△に敵のクラス名を入れてください。 チュートリアル3をそのまま使っている場合はMonsterだと思います。 ここで考えて書いただけなので、挙動は保障できないのですが、多分動くでしょう。
|
Re: 始めまして。聞きたいことがあります。
投稿者 : 内海裕(G042033.ppp.dion.ne.jp)
- 2002/10/30(Wed) 15:49
No.1919
|
|
|
|
Re:。
投稿者 : A(www.town.hasami.nagasaki.jp)
- 2002/10/30(Wed) 16:05
No.1920
|
|
|
|
|