条件
投稿者 : じんみ(htknzw002126.adsl.ppp.infoweb.ne.jp)
- 2005/08/05(Fri) 22:00
No.8603
|
|
|
|
|
条件 足場となるブロックの上より少し高かったら。 と言う命令が思いつきません アドバイスお願いします
|
Re: 条件
投稿者 : JOJO(ZL128161.ppp.dion.ne.jp)
- 2005/08/05(Fri) 22:28
No.8604
|
|
|
|
足場となるブロックが
if ($map.getAt(x,y+16 )==$pat_Maze+1)
でしたらこのy+16の16をそれより少し上にしたらいいと思います。
|
Re: 条件
投稿者 : じんみ(htknzw002126.adsl.ppp.infoweb.ne.jp)
- 2005/08/06(Sat) 10:31
No.8605
|
|
|
|
if(○○&&$map.getAt(x,y+16 )==$pat_床+1)○○ ↑無理です やっぱりなにかいけないんでしょうか?
|
Re: 条件
投稿者 : JOJO(ZL128161.ppp.dion.ne.jp)
- 2005/08/06(Sat) 12:04
No.8606
|
|
|
|
if($map.getAt(x,y+17 )==$pat_床+1) ではどうでしょうか?
|
Re: 条件
投稿者 : じんみ(htknzw002126.adsl.ppp.infoweb.ne.jp)
- 2005/08/06(Sat) 12:22
No.8607
|
|
|
|
だめです;; 動作してくれません if($map.getAt(x,y+400 )==$pat_床+1) ↑これくらい if($map.getAt(x,y+400 )==$pat_床+1) if($map.getAt(x,y+400 )!=$pat_床+1) ここを変えると動作してくれるけど その上まで通るとだめになるし・・ 上の方法はあきらめて以外で命令する方法はありませんか? それともこの方法しかないんでしょうか もう一度アドバイスおねがいします
|
Re: 条件
投稿者 : JOJO(ZL128161.ppp.dion.ne.jp)
- 2005/08/06(Sat) 12:48
No.8608
|
|
|
|
Re: 条件
投稿者 : じんみ(htknzw002126.adsl.ppp.infoweb.ne.jp)
- 2005/08/06(Sat) 13:23
No.8609
|
|
|
|
8609.zip
これがサンプルです if ($map.getAt(x,y+500 )==$pat_W+0)vy-=0.17; 上のようにやっていてもみてわかるように どうさしません
|
Re: 条件
投稿者 : JOJO(ZL138235.ppp.dion.ne.jp)
- 2005/08/06(Sat) 14:14
No.8610
|
|
|
|
Re: 条件
投稿者 : じんみ(htknzw002126.adsl.ppp.infoweb.ne.jp)
- 2005/08/06(Sat) 21:26
No.8611
|
|
|
|
ん〜 なんか期待どうりに動いてくれない・・・ 僕がやってほしいのは ブロックよりも500下なら上に加速 そのまま500よりも上なら減速・そのまま下に加速 このような動作をするオブジェクトを作りたいんです
|
Re: 条件
投稿者 : N@N(actkyo135105.adsl.ppp.infoweb.ne.jp)
- 2005/08/06(Sat) 22:13
No.8612
|
|
|
|
No.8610のような動作でないとしたら、「バブル」のような跳ねる動きでしょうか。
while (1) { y+=vy; // vy: y 方向の速度。 yにvy を加える if ($map.getAt(x,y-500)>=$pat_W+0)vy=-10; else vy+=0.17; update(); }
こうすれば実現できます。 自分の上500のパターンがブロックならば、vyは一気に-10になります。急に跳ね上がるわけです。 その後、vy+=0.17で徐々に減速、落ちていきます。
|
Re: 条件
投稿者 : じんみ(htknzw002126.adsl.ppp.infoweb.ne.jp)
- 2005/08/07(Sun) 10:34
No.8613
|
|
|
|
8613.zip
上の動作を少し改造してふわふわ浮かせる事 が出来るようになりました if ($map.getAt(x,y+500)>=$pat_W+0)vy-=0.17; else vy+=0.17; だけど高い所からどんどんvy+をふやして500の所でvy-を ふやして上に行きます でも500のところで減速しきれなくて、 したにいくとまた下に落ちてしまいます また、もともと500よりも下にいるオブジェクトは そのまましたにいってしまいます。 またプログラムをつけたので まずは実行して試してみてください
|
Re: 条件
投稿者 : xsb007(YahooBB221044056135.bbtec.net)
- 2005/08/07(Sun) 17:24
No.8614
|
|
|
|
これでどうですか。 一マスずつ進め、ブロックを検索します。
extends SpriteChar; while (1) { y+=vy; // vy: y 方向の速度。 yにvy を加える
dy=0; while(1) {
if (dy>116) dy=116; //500だと画面上に飛んでいってしまう if ($map.getAt(x,y+dy)==$pat_W+0) { //ブロックだったら↑ vy-=0.17; //drawText(x,0,"up",$clwhite); break; } else if (dy>=116) { //ブロックがずっとないなら↓ vy+=0.17; //drawText(x,0,"down",$clwhite); break; }
dy+=$map.pheight; //次のマスにすすむ
}
update(); }
|
Re: 条件
投稿者 : じんみ(htknzw002126.adsl.ppp.infoweb.ne.jp)
- 2005/08/07(Sun) 19:20
No.8615
|
|
|
|
ありがとうございます! これでできるようになりました!
|
|