2016-09-14 72 views
1

我是新来的Unity C#,并试图让一个简单的精灵移动到,即坐标3,5; 4,5。我无法完成这项工作。统一:移动一个精灵来协调(补间)

任何帮助将不胜感激。

我曾尝试以下:

public class Zookeeper : MonoBehaviour { 

    public float speed = 50f; 
    private Vector2 target; 

    void Start() { 
     target = transform.position; 
    } 

    void Update() { 
     transform.position = Vector2.MoveTowards(
      transform.position, target, speed * Time.deltaTime 
     ); 
    }  
} 
+0

我曾尝试下面的脚本 - 但我不知道如何/在哪里输入实际坐标http://answers.unity3d.com/questions/ 14279/make-an-object-move-from-point-a-to-point-b-then-b.html – edutainPeople

+0

OK,你写了什么?请在上面的帖子中包含**你的**代码。 (点击[编辑](http://stackoverflow.com/posts/39486529/edit))看看这个例子,它似乎是一个简单的事情,调用'transform.position = Vector3.Lerp(startPos,endPos,i )' - 所以我们需要看看你到底在挣扎着什么。你是否定义了精灵和/或矢量?你没有包含一些库吗?我们需要更多信息才能提供良好的答案。请参阅:[如何提出一个好问题?](http://stackoverflow.com/help/how-to-ask) –

+0

谢谢 - 我写了上面的代码 - 我的问题是基于我想要的事实指示坐标。 IE浏览器。后藤(10,10)。 – edutainPeople

回答

0

只要改变Start方法是这样的:

void Start() 
    { 
     target = new Vector2(3.5f, 4.5f); 
    } 

您需要target操作,使其移动,你想要的。

+0

谢谢 - 这是我无法绕过的矢量声明:-) – edutainPeople

+0

@edutainPeople如果它帮助你勾选答案。 –

+0

我在哪里可以做到这一点? – edutainPeople

0
void Start() { 
    target = new Vector2(transform.position.x,transform.position.y); 
} 

这将目标设置为对象,脚本被分配。但是,你的土块只使用

transform.position.x 

或者

transform.position.y