敵の向き

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
KEN

敵の向き

#1

投稿記事 by KEN » 15年前

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

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

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

else{
m_NowDir = LEFT;
}

パコネコ

Re:敵の向き

#2

投稿記事 by パコネコ » 15年前

む?
右向きの敵が右に移動するから今度は左を向いてしまうということですか?
ある程度の幅を持たしてその範囲内のときは、右に移動しなくすればどうでしょう?

勘違いならすいません。

シエル

Re:敵の向き

#3

投稿記事 by シエル » 15年前

おもしろい敵ですねw

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

KEN

Re:敵の向き

#4

投稿記事 by KEN » 15年前

パコネコさん>

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

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

パコネコ

Re:敵の向き

#5

投稿記事 by パコネコ » 15年前

敵はどういう動きをするんですか?
上から出てきて下(主人公)に向かって移動?

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

KEN

Re:敵の向き

#6

投稿記事 by KEN » 15年前

パコネコ>さん



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

はいそのとうりです。


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

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

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

パコネコ

Re:敵の向き

#7

投稿記事 by パコネコ » 15年前

やっぱり…
理由とかわかりました。

移動量にもよりますが、移動させる文に横移動をさせない必要があります。
たとえば
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;//プレイヤーと同じ座標にまで戻ります。
}

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

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





画像

閉鎖

“C言語何でも質問掲示板” へ戻る