ページ 11

敵の向き

Posted: 2010年7月22日(木) 21:34
by KEN
敵の方向転換の事で質問なのですが
主人公より後ろに敵がいる場合は右向き、
前からでてきたら左向きで出てこさす処理をしているのですが、
敵が上から出てきたとき、主人公と敵の位置(X座費用)が同じになった時に
敵が右にいるか左にいるか分からず常に右、左と向きの切り替えを続けて
そのまま突っ込んできます。

敵と主人公の位置が同じになった場合は敵の方向を右向きの状態で来さしたいんですが、
色々と試しましたが全く改善されません。
どなたか改善策を教えてくださいお願いします。

// 主人公との位置から現在の向きをだす
if( YuSyaPoz.x < AIPoz->x ){
  m_NowDir = RIGHT;
}

else{
m_NowDir = LEFT;
}

Re:敵の向き

Posted: 2010年7月22日(木) 21:42
by パコネコ
む?
右向きの敵が右に移動するから今度は左を向いてしまうということですか?
ある程度の幅を持たしてその範囲内のときは、右に移動しなくすればどうでしょう?

勘違いならすいません。

Re:敵の向き

Posted: 2010年7月22日(木) 21:49
by シエル
おもしろい敵ですねw

一度向きをセットしたら、もうセットしないようにフラグでも立ててみてはいかが?

Re:敵の向き

Posted: 2010年7月22日(木) 21:54
by KEN
パコネコさん>

説明不足ですいません。イエそうではなく上から出てきた場合で、主人公と位置が同じになった時は
敵が右を向いていいか左を向いて良いか分からない状態になっているのでのような現象が起こっていると
思われます。

シエル さん>
フラグをどのように作ったらいいか全くわからないです 画像

Re:敵の向き

Posted: 2010年7月22日(木) 21:56
by パコネコ
敵はどういう動きをするんですか?
上から出てきて下(主人公)に向かって移動?

右向きのときに右に移動するとかありますか?

Re:敵の向き

Posted: 2010年7月22日(木) 22:06
by KEN
パコネコ>さん



上から出てきて下(主人公)に向かって移動?

はいそのとうりです。


右向きのときに右に移動するとかありますか?

はいそのとうりです。右から出てきたときは右向きで
左から出てきたときは左向きででてきます。

主人公より後ろにいた敵が主人公を追い抜くと、敵は左向き
にかわります。そして主人公に向かってきます

Re:敵の向き

Posted: 2010年7月22日(木) 22:16
by パコネコ
やっぱり…
理由とかわかりました。

移動量にもよりますが、移動させる文に横移動をさせない必要があります。
たとえば
if(teki_muki==0)//右向きのとき
teki_x+=teki_idouryou;
となっているなら
if(teki_muki==0){//右向きのとき
teki_x+=teki_idouryou;
if(p_x<=teki_x)//向き判定で左向きになったら。
teki_x=p_x;//プレイヤーと同じ座標にまで戻ります。
}

こんなのでどうでしょう?

===========
私が思った
理由についても
/*
主人公より後ろにいた敵が主人公を追い抜くと、敵は左向き
にかわります。そして主人公に向かってきます
*/
これには続きがありますよね。
常に主人公のほうに向かって移動するんですから、
左を向いた後次の移動で、右を向いてしまいます。
そして今度は左向きに…それが迷っているように見えたのではないでしょうか?
少なくとも私は、そんな状況に何度かなってしまったので…





画像