だれか教えてください
投稿者 : カズ(YahooBB219004080025.bbtec.net)
- 2005/03/08(Tue) 17:56
No.7845
|
|
|
|
|
豆乳歴2週間の新米です。 どなたか僕の質問に答えてくれませんか? お願いします!!
ジャンプアクションを作っているのですが ある日突然vx、vyが使えなくなりました。
ジャンプアクションやダッシュアクション時にvxやvyを 使用していたのですが
完成して数日後、突然vのついた計算式の部分が動かなくなってしまったんです。
ためしにvxを普通のxになおしてみるとそのとうり動くんです。
これはどうしてなんでしょうか?
教えてください!
extends SpriteChar;
a=newAnimation();
function onDie() { $panel.fillRect(15,10,35,160,color(0,0,0)[,2]); appear(new Bomb($myChar.x , $myChar.y ,$pat_ori01+4)); }
function damage() { Life=Life+10; $mplayer.play($se_dam); if (Life<=160) p=$pat_ori00+9; wait(30); if (Life>=160) die(); } Life=10; // あらかじめ自機のライフをきめておく aaa=0; time=0; while(1) { a.loop($pat_ori00+0,$pat_ori00+0,60); vy+=10; $panel.fillRect(10,5,40,165,color(220,220,220)[,0]); $panel.fillRect(8,5,10,165,color(150,150,150)[,0]); $panel.fillRect(40,5,42,165,color(150,150,150)[,0]); $panel.fillRect(15,10,35,160,color(255,255,235)[,1]); $panel.fillRect(15,10,35,Life,color(0,0,0)[,2]); if($map.getAt(x-16,y-24)==$pat_ori02+3){vy=1;} // ジャンプ時のめりこみ防止。 if($map.getAt(x,y-24)==$pat_ori02+3){vy=1;} // ジャンプ時のめりこみ防止。 if($map.getAt(x+16,y-24)==$pat_ori02+3){vy=1;} // ジャンプ時のめりこみ防止。 if ($map.getAt(x,y+16)==$pat_ori02+2) y+=3; // 重力1。 if ($map.getAt(x,y+16)==$pat_ori02+1) y+=3 ; // 重力2。 if (getkey(39)>0 ) {a.loop($pat_ori00+1,$pat_ori00+3,9); f=0; x+=2;} if (getkey(37)>0 ) {a.loop($pat_ori00+1,$pat_ori00+3,9); f=1; x-=2;} if ($map.getAt(x,y)==$pat_ori02+4) { if (getkey(40)>0 && $map.getAt(x,y+16)!=$pat_ori02+3) {a.loop($pat_ori00+4,$pat_ori00+5,10); y+=1;} if (getkey(38)>0 && $map.getAt(x,y-16)!=$pat_ori02+2) {a.loop($pat_ori00+4,$pat_ori00+5,10); y-=1;} } if ($map.getAt(x+16,y)==$pat_ori02+3){ x-=2; if (vx>0) { vx=0; } if (vx<0) { vx=0; } } if ($map.getAt(x-16,y)==$pat_ori02+3){ x+=2; if (vx<0) { vx=0; } if (vx>0) { vx=0; } } if (f==1) { if (getkey(32)==1) { appear(new Tama2(x,y,$pat_ori00+6)); $mplayer.play($se_tykuti); {p=$pat_ori00+7; f=1;} } } if (f==0) { if (getkey(32)==1) { appear(new Tama1(x,y,$pat_ori00+6)); $mplayer.play($se_tykuti); {p=$pat_ori00+7; f=0;} } } if ($map.getAt(x,y+16)==$pat_ori02+3) { vy=0; // 落下速度を0にする if (getkey(96)==1) {vy-=10; p=$pat_ori00+11;}// キーを押したらジャンプ } else { // ブロックに当たっていなかったら vy+=0.5; // 落下速度を上げる } if ($map.getAt(x,y+16)==$pat_ori02+3) { if (getkey(40)==1) { p=$pat_ori00+19; if (f==1) { vx-=10; if (vx<0) a.loop($pat_ori00+19,$pat_ori00+20,2); f=1; vx+=0.5; } if (f==0) { vx+=10; if (vx>0) a.loop($pat_ori00+19,$pat_ori00+20,2); f=0; vx-=0.5; } } } $map.scrollTo(x-$screenWidth/2,y-$screenHeight/2); update(); }
|
Re: だれか教えてください
投稿者 : ごま太郎(i220-108-17-98.s02.a001.ap.plala.or.jp)
- 2005/03/10(Thu) 23:26
No.7848
|
|
|
|
アクションゲームって苦手なんですよね…。 原因として、他でvxなどの変数を利用した可能性があります。 プログラム全体を添付することをオススメします。
|
|