敵について
投稿者 : 竜(p3218-ip01koufu.yamanashi.ocn.ne.jp)
- 2003/09/27(Sat) 20:10
No.4454
|
|
|
|
|
敵に自機が近づくまで敵が動かないようにできますか?
|
敵が自分の近くにいる
投稿者 : nuntora(wtpp-p-144-134-209-108.prem.tmns.net.au)
- 2003/09/27(Sat) 20:23
No.4456
|
|
|
|
可能です。
敵が自機の近くにいるということは、敵と自分の距離が一定範囲内にあるということが出来ると思います。
if (((Teki.x-Jiki.x)*(Teki.x-Jiki.x)+(Teki.y-Jiki.y)*(Teki.y-Jiki.y))<200) { ... }
のように、敵と自機のxとy座標の差を二乗して足し合わせたもの(すなわち敵と自機の距離)が一定の数値以内であれば敵が動作する、といったようにしてあげればよいと思います。
頑張ってみてください。
|
Re: 敵について
投稿者 : 竜(p3218-ip01koufu.yamanashi.ocn.ne.jp)
- 2003/09/27(Sat) 20:35
No.4459
|
|
|
|
extends SpriteChar; function damage() { appear(new die2($enemy2.x , $enemy2.y ,$pat_die+5));
life=life-1; if (life<=0) die(); } life=5; a=newAnimation(); a.loop($pat_enem+14,$pat_enem+17,10); while(1) { if (((mychar.x-enemy2.x)*(mychar.x-enemy2.x)+(mychar.y-enemy2.y)*(mychar.y-enemy2.y))<200) { if (crashTo($mychar)) { $myChar.damage(); updateEx(70); } for (t in $chars){ if (t is ken_atari && crashTo(t)){ damage(); updateEx(55); } } if (x>$mychar.x){x-=1; f=0; } if (y<$mychar.y)y+=1; if (y>$mychar.y)y-=1; if (x<$mychar.x){x+=1;f=1;} }
update(); }
やってみたけど、できませんでした。 これのどこにいれればいいですか? Jikiがmycharでtekiがenemy2です
|
Re: 敵について
投稿者 : 竜(p3218-ip01koufu.yamanashi.ocn.ne.jp)
- 2003/09/27(Sat) 20:37
No.4460
|
|
|
|
extends SpriteChar; function damage() { appear(new die2($enemy2.x , $enemy2.y ,$pat_die+5));
life=life-1; if (life<=0) die(); } life=5; a=newAnimation(); a.loop($pat_enem+14,$pat_enem+17,10); while(1) { if (crashTo($mychar)) { $myChar.damage(); updateEx(70); } for (t in $chars){ if (t is ken_atari && crashTo(t)){ damage(); updateEx(55); } } if (x>$mychar.x){x-=1; f=0; } if (y<$mychar.y)y+=1; if (y>$mychar.y)y-=1; if (x<$mychar.x){x+=1;f=1;}
update(); } これがもとです
|
参照クラス名の前の「$」
投稿者 : nuntora(wtpp-p-144-134-209-108.prem.tmns.net.au)
- 2003/09/27(Sat) 21:53
No.4461
|
|
|
|
if ((($mychar.x-$enemy2.x)*($mychar.x-$enemy2.x)+($mychar.y-$enemy2.y)*($mychar.y-$enemy2.y))<200) { のように$をつけてください。 それでも解決しなかった場合には、Fileを添付してください。
|
Re: 敵について
投稿者 : 竜(p4122-ip01koufu.yamanashi.ocn.ne.jp)
- 2003/09/28(Sun) 15:58
No.4471
|
|
|
|
if ((($enemy2.x-$mychar.x))<200) { なんか↑こうやったらできましたw
|
Re: 敵について
投稿者 : hoge-(203-165-20-190.home.ne.jp)
- 2003/09/28(Sun) 18:41
No.4472
|
|
|
|
ちなみに、distメソッドという距離を求めるメソッドがあります。ご活用ください。
http://tonyu.kake.info.waseda.ac.jp/api/wiki.cgi?page=dist&go=%B0%DC%C6%B0
|
Re: 敵について
投稿者 : 竜(p4021-ip01koufu.yamanashi.ocn.ne.jp)
- 2003/09/28(Sun) 20:00
No.4473
|
|
|
|
nuntoraさんhoge-さんありがとうございました。
|
|