簡體   English   中英

如何使用 movetowards 移動游戲對象

[英]How to move a gameobject using movetowards

如何使用GameObject方法使我的游戲對象移向另一個GameObject Vector3.MoveTowards

這是我當前的代碼:

void update()
{
    TargetObject.transform.position = Vector3.MoveTowards (TargetObject.transform.position, Cube.transform.position , MaxDistanceDelta);
}
void Update() { 
    myGameObject.transform.position = Vector3.MoveTowards(myGameObject.transform.position, targetObject.transform.position, Time.deltaTime * speed);
}
  • myGameObject-您要移動的對象
  • targetObject-您要移動的對象
  • speed-設置速度的浮點值

首先,讓我們看看該方法的詳細信息和參數:

MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta);

了解參數

  • Vector3 當前: object position 的 3D 向量(示例: new Vector(0,0,1)
  • Vector3 目標: 3D 目標 position 的向量(示例: new Vector(3,4,5)
  • maxDistanceDelta: object在調用該方法時移動的最大距離。 (示例:如果maxDistanceDelta為 1,則每次調用 object 時都會移動 1 個單位。如果我們不使用Time.deltaTime ,如果幀率為 50,它會每秒移動 50 個單位)

注意:如果實際剩余距離小於maxDistanceDelta ,它將被放置在目標 position 上。這意味着 object 將不再移動,除非目標 position 發生變化。

例子:

聲明變量:

public float speed;
public Transform target; 

使用方法:

transform.position = Vector3.MoveTowards(
      transform.position, 
      target.position, 
      speed * Time.deltaTime 
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM