中継地点を巡回させる;その2
![Ae3908f4 bbb2 4927 867d 6913444e2339](https://codegenius.org/uploads/slide/image/2227/ae3908f4-bbb2-4927-867d-6913444e2339.jpeg)
中継地点を巡回させる
using UnityEngine;
using System.Collections;
public class EnemyMovement : MonoBehaviour {
public Transform[] wayPoints;
int cur = 0;
public float speed = 0.5f;
void FixedUpdate(){
// 現在位置が中継ポイントの位置と異なるならば(条件)
if(transform.position != wayPoints[cur].position){
Vector3 p = Vector3.MoveTowards(transform.position, wayPoints[cur].position, speed);
GetComponent<Rigidbody>().MovePosition(p);
// 顔の向き
transform.LookAt(wayPoints[cur].position);
} else {
// ★(重要テクニック)
// 配列の中の順序を1つずつ繰り上げていくテクニック(最後はまた0に戻る。)
cur = (cur + 1) % wayPoints.Length;
}
}
}
Unity Code Memo
他のコースを見る![Ae3908f4 bbb2 4927 867d 6913444e2339](https://codegenius.org/uploads/slide/image/2227/ae3908f4-bbb2-4927-867d-6913444e2339.jpeg)
中継地点を巡回させる
using UnityEngine;
using System.Collections;
public class EnemyMovement : MonoBehaviour {
public Transform[] wayPoints;
int cur = 0;
public float speed = 0.5f;
void FixedUpdate(){
// 現在位置が中継ポイントの位置と異なるならば(条件)
if(transform.position != wayPoints[cur].position){
Vector3 p = Vector3.MoveTowards(transform.position, wayPoints[cur].position, speed);
GetComponent<Rigidbody>().MovePosition(p);
// 顔の向き
transform.LookAt(wayPoints[cur].position);
} else {
// ★(重要テクニック)
// 配列の中の順序を1つずつ繰り上げていくテクニック(最後はまた0に戻る。)
cur = (cur + 1) % wayPoints.Length;
}
}
}
中継地点を巡回させる;その2