2014-05-04 85 views
0

我添加了GUITexture,进入游戏对象>>创建其他>> GUI纹理,并在检查器中添加了它的纹理,我现在想要的是当用户触摸(游戏是为Android和IOS)GUITexture移动立方体时,我试过此代码Unity如何将GUITexture设置为按钮?

var up : GUITexture; 
var player : Rigidbody2D; 


function Update() { 

    for (var evt : Touch in Input.touches) { 

     var HitTest1 = up.HitTest(evt.position); 

     if (evt.phase == TouchPhase.Began) { 

      if(HitTest1){ 

       player.rigidbody2D.AddForce(Vector2(-2,0)); 

       fireButton.enabled = false; 

      } 
     } 
    } 
} 

但它没有奏效。我能做什么?

回答

0
if (GUI.Button(Rect(10,10,50,50),up)) 
//Code to move cube up 

这将创建一个guibutton出你的纹理。您需要将其放入脚本中的OnGUI函数中。下面是引用一个链接GUIButtons:GUIButtons

+0

肯定,但这不会让我的按钮关上小屏幕设备上的屏幕? – smaika

+0

10,10,50,50只是设置矩形。所以这个数字就是屏幕上按钮的位置,五十年代是按钮的大小。我不知道这是否回答你的问题。 – PoKoBros

0

在你的代码已经宣布球员为刚体

var player : Rigidbody2D; 

及以下试图访问其刚体

player.rigidbody2D.AddForce(Vector2(-2,0)); //this won't work 
player.AddForce(Vector2(-2,0));//*use this instead* 

OR

尝试声明玩家为游戏对象

var player:GameObject 

,并添加力正确

player.rigidbody2D.AddForce(Vector2(-2,0)); 
+0

'AddForce'不是'UnityEngine.GameObject'的成员。 – smaika

+0

编辑了答案 – vaibhav

相关问题