Unity如何将GUITexture设置为按钮?

时间:2014-05-04 15:43:45

标签: button unity3d unityscript

我通过转到游戏对象>>创建其他>> GUI纹理添加了GUITexture,并在检查器中添加了它的纹理我现在想要的是当用户触摸时(游戏是针对Android和IOS)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;

            } 
        } 
    } 
}

但它没有用。我该怎么办?

2 个答案:

答案 0 :(得分:0)

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

这将从纹理中创建一个GUIButton。您需要将其放入脚本中的OnGUI函数中。以下是GUIButtons参考的链接:GUIButtons

答案 1 :(得分:0)

在您的代码中,您已将玩家声明为刚体

var player : Rigidbody2D;

及以下正试图访问其刚体

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


尝试将玩家声明为游戏对象

var player:GameObject

并正确添加力量

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