设置gui标签的x轴位置.......在Unity3D中

时间:2013-10-11 10:25:28

标签: android unity3d game-engine

我正在制作一个我正在使用gui标签的游戏​​我想设置x轴的位置,就像当第一个角色出现时第二个必须出现在我正在使用的一点点。

var isClicked : boolean=false;
var xpos: float = 200;
var xpox:float; 
var i:float;

function Start () {}
function xchange(): float{

xpos= xpos+8;
i=xpos;
return i;

}
function OnMouseDown()
{
   isClicked = true;
}

function OnGUI()
{
   if (gameObject.name == "Sphere 1(Clone)" && isClicked ){
   xpox=xchange();
   GUI.Label(new Rect(xpox,260,400,100), "B");
}     

   else if (gameObject.name == "Sphere(Clone)" && isClicked ){
   xpox=xchange();
     GUI.Label(new Rect(xpox,260,400,100), "A");
   }
 }

在这段代码中每次点击球体时都会出现字母,但问题是每次字母表出现时它都会在屏幕上显示,这是由于这段代码所致。

function xchange(): float
{ 
  xpos= xpos+8;
  i=xpos;
  return i;
}

我只是希望我点击的每一个字母都必须比第一个字母更远一些。

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

在函数Update()中只检查条件isClicked = true或不是..

function Update()
{
      if(isClicked)
      {
           xpos += 500; 
      }
}

function OnGUI()
{
   if (gameObject.name == "Sphere 1(Clone)" && isClicked )
   {
       GUI.Label(new Rect(xpos,260,400,100), "B");
   }
}

你可以试试这个..一切都很好..