全て。私が達成しようとしているのは、各尾の位置が前の尾の位置に続くヘビの単純なゲームです。しかし、何らかの理由で、タイルは頭のようにグリッド システムで移動するのではなく、前の尾の位置を斜めにたどります。これが私のコードです
頭の動きのクラス
public float unitsPerFrame = 1;
void Update(){
if (Input.GetKey(KeyCode.UpArrow) && downDir == false)
{
transform.localRotation = Quaternion.Euler(0, 0, 0);
mDir = Vector3.up * unitsPerFrame;
}
}
... すべての方向は同じです。これを含めたので、私の頭の動きがどのように機能するかがわかります。
尻尾の動きのクラス
void Update()
{
tail[0].transform.position = Vector3.MoveTowards(tail[0].transform.localPosition, GameObject.Find("Player").transform.localPosition, 0.02f);
for(int i = 1; i < tail.Count; i++)
{
tail[i].transform.position = Vector3.MoveTowards(tail[i].transform.localPosition, tail[i - 1].transform.localPosition, 0.02f);
tail[i].transform.rotation = tail[i - 1].transform.rotation;
}
}
また、明確にするために、2D に vector2 を使用する必要があるときに、Vector3 を使用していることはわかっていますが、現在は正しく機能しており、後で変更します。