さて、昨日の記事の気をつけなければいけない点をいくつか。



一点目は、処理A呼び出しのタイミングです。処理Aは、移動確定後、先頭のキャラクターの移動前に行わなければなりません。そうでないと移動時でないときも進んでしまったり、「重なっているときに動かない」というifの条件を常に満たさなくなったりしてしまうからです。




二点目は、処理Bを書く場所です。Aでmovingフラグをtrueにするならば、BはAの前になければなりません。さもなくば、A→Bの処理が1ループの中で実行され、プレイヤーの目にはアニメーションが映らないことになります。




三点目は、先頭キャラクターの向きです。移動不可能な方向にキーを押したときも、先頭キャラクターはその方向を向かなければなりません(話しかけたり、調べたりするため)。しかしこの追跡方法では、自分の前のキャラクターの向きを頼りに追跡するので、移動不可な方向を向いた後にどこかへ移動すると、後続のキャラクターが思わぬ方向へ散っていってしまいます。



これを回避するためには、先頭キャラクターの描画についてだけは違う変数を用意しておく必要があります。



長々とした上に分かりにくくて申し訳ありません…(´ω`)




動いてるとこはこんな感じです→http://twitpic.com/14kag7