Unity3D制作簡單的巡邏機制

項目:? 在一個平面上有四個角落有四個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);

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容