0

我正在制作一个我正在使用 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;
}

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

4

1 回答 1

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");
   }
}

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

于 2013-10-11T10:41:34.567 回答