も一度ジャンプ
投稿者 : さむ(EATcf-245p215.ppp15.odn.ne.jp)
- 2002/12/15(Sun) 22:04
No.2182
|
|
|
|
|
extends SpriteChar;
while (1) { if (getkey(39) && $map.getAt(x+16,y)!=$pat_maze+0) x+=3; if (getkey(37) && $map.getAt(x-16,y)!=$pat_maze+0) x-=3; y+=vy; if ($map.getAt(x,y+24)==$pat_maze+0 ) { vy=0; // if (getkey(32)) vy=-5; } else { vy+=0.5; } update(); }
というソースがあるのですが、これをどういじればジャンプ中、もう一度スペースキーを押したら、0,3だけ上昇するジャンプができるようになりますか? 自分が作ると、 スペースキーを押し続けると上昇してしまったり、3段ジャンプができてしまったりして困っています。
|
Re: も一度ジャンプ
投稿者 : ABE(i106162.ap.plala.or.jp)
- 2002/12/18(Wed) 15:02
No.2201
|
|
|
|
if (getkey(32)) vy=-5; を、 if (getkey(32)==1) vy=-5; に変更するといいんです。
|
Re: も一度ジャンプ
投稿者 : ABE(i106162.ap.plala.or.jp)
- 2002/12/18(Wed) 15:09
No.2202
|
|
|
|
extends SpriteChar; jump=0;
while (1) { if (getkey(39) && $map.getAt(x+16,y)!=$pat_maze+0)x+=3; if (getkey(37) && $map.getAt(x-16,y)!=$pat_maze+0) x-=3; y+=vy; if ($map.getAt(x,y+24)==$pat_maze+0 ) { vy=0; // jump=2; } if (getkey(32)==1){ if (jump==0){vy=-5; }else if(jump==1){vy=-4; }else vy=-4; }else vy+=0.5; update(); }
|
間違った
投稿者 : ABE(i106162.ap.plala.or.jp)
- 2002/12/18(Wed) 15:11
No.2203
|
|
|
|
if (getkey(32)==1){ if (jump==0){ vy=-5; } else if(jump==1){ vy=-4; } else vy=-3; } else { // ブロックに当たっていなかったら vy+=0.5; // 落下速度を上げる }
|
これが正しい
投稿者 : ABE(i106162.ap.plala.or.jp)
- 2002/12/18(Wed) 15:15
No.2204
|
|
|
|
if ($map.getAt(x,y+24)==$pat_Block+0 ) { vy=0; jump==0; } if (getkey(32)==1){ if (jump==0){ vy=-5; jump++; } else if(jump==1){ vy=-4; jump++; } else if(jump==2){ vy=-3; jump++; }
|
これがホントに正しい
投稿者 : ABE(i106162.ap.plala.or.jp)
- 2002/12/18(Wed) 15:20
No.2205
|
|
|
|
if ($map.getAt(x,y+25)==$pat_Block+0 ) { jump==0; } if ($map.getAt(x,y+24)==$pat_Block+0 ) { vy=0; } else { vy+=0.1; } if (getkey(32)==1){ if (jump==0){ vy=-5; jump++; } else if(jump==1){ vy=-4; jump++; } else if(jump==2){ vy=-3; jump++; } }
|
これがホントのホントに正しい
投稿者 : ABE(i106162.ap.plala.or.jp)
- 2002/12/18(Wed) 15:27
No.2206
|
|
|
|
extends SpriteChar; jump=0; $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; if ($map.getAt(x,y-24)==$pat_Block+0 && vy>0) { vx=-vx; } if ($map.getAt(x,y+24)==$pat_Block+0 ) { jump=0; vy=0; if (getkey(32)==1){ if (jump==0){ vy=-5; jump++; } else if(jump==1){ vy=-4; jump++; } else if(jump==2){ vy=-3; jump++; } } } else { vy+=0.1; } $map.scrollTo(x-$screenWidth/2,0); // スクロールする update(); }
|
Re: も一度ジャンプ
投稿者 : さむ(EATcf-148p67.ppp15.odn.ne.jp)
- 2002/12/19(Thu) 20:06
No.2209
|
|
|
|
|