单击button时如何在iTweenpath上移动

我已经设置了iTweenpath,并且还添加了一个button。 当我点击button时,对象应该沿着iTweenpath开始移动。但是我面对的问题是当我在初始阶段运行我的项目时,对象正在iTweenpath上移动,我没有设置button点击。 然后我试着放置相同的代码来移动button点击,它仍然不工作。 任何人都可以帮我解决这个问题,并为我提供一段代码。 代码在这里

void Start () { //iTween.MoveTo(gameObject,iTween.Hash ("path",iTweenPath.GetPath("BoxOut"),"time",5)); iTween.MoveTo(gameObject,iTween.Hash ("path",iTweenPath.GetPath("Pass"),"time",50)); } // Update is called once per frame void Update () { } 

上面的代码最初工作,当项目开始运行时,对象开始在path上移动。 然后我编辑了代码,并在button上添加了代码,不再工作。 编辑的代码如下。

 void Start () { //iTween.MoveTo(gameObject,iTween.Hash ("path",iTweenPath.GetPath("BoxOut"),"time",5)); iTween.MoveTo(gameObject,iTween.Hash ("path",iTweenPath.GetPath("Pass"),"time",50)); } // Update is called once per frame void Update () { } void OnGUI() { if(GUI.Button(new Rect(100,100,100,100),"gggggg")) { Debug.Log("fffffffffffffffffffffff"); resp=true; } } 

它不工作。 请帮我拿一段代码。

您可能想尝试新的Unity 5 Gui,OnGUI方法相当过时。 希望这个代码块只是为了testing目的。 函数GUI.Button()在屏幕上绘制button,并返回是否按下button(一个布尔值)。 所以无论你需要执行什么代码,都必须写在if块中。 希望这可以解决这个问题。

  void Start () { } // Update is called once per frame void Update () { } void OnGUI() { if(GUI.Button(new Rect(100,100,100,100),"gggggg")) { Debug.Log("Button Clicked"); iTween.MoveTo(gameObject,iTween.Hash ("path",iTweenPath.GetPath("Pass"),"time",50)); } }