項目:? 在一個平面上有四個角落有四個cube,中間有一個Sphere,讓Sphere依次到達這四個cube的位置,實現巡邏的機制,并且讓它在每個cube的位置等待2秒鐘
問題: 1.小球如何在每個立方體上停留2秒
答:用計時器
2.小球到達第一個立方體之后如何移動到下一個
答:循環機制,用數組實現
3.如何讓小球一直巡邏下去.
答:數組里添加循環的條件
解析:
1.創建一下幾個物體,給四個cube加上Cube1的標簽,創建一個腳本,把腳本掛在Sphere上面,實現小球的巡邏機制
//創建一個cube數組
GameObject[]cube;
//數組下標
inti=0;
//計時
floattimer;
voidStart()
{
//查找含有標簽Cube1的所有物體,給數組cube
cube=GameObject.FindGameObjectsWithTag("Cube1");
//查看小球Sphere巡邏的順序
//Debug.Log(cube[0].name);
//Debug.Log(cube[1].name);
//Debug.Log(cube[2].name);
//Debug.Log(cube[3].name);
}
voidUpdate()
{
//當Sphere和cube的距離dis小于0.08f時,認為Sphere已經到了cube的位置
floatdis=Vector3.Distance(transform.position,cube[i].transform.position);
if(dis<=0.08f){
timer+=Time.deltaTime;
//當timer的時間大于等于2秒時,讓它歸0,且讓Sphere去下一個cube那里
if(timer>=2f){
i++;
timer=0;
}
//實現循環的機制,當數組下標到4以后,重新從0開始
if(i==4){
i=0;
}
}
//當當Sphere和cube的距離dis大于0.08f時,讓Sphere向cube移動
else{
transform.position=Vector3.Lerp(transform.position,cube[i].transform.position,0.01f);
}
}