2013-10-11 109 views
0

我正在製作一款遊戲,我正在使用gui標籤,我想設置x軸的位置,就像第一個字符出現時那樣第二個必須出現我正在使用一點。爲gui標籤設置x軸的位置.......在Unity3D

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

我只想讓我點擊的每個字母都必須從第一個字母開始顯示一點。

回答

0

你可以試試這個:

在功能更新

()只檢查條件isClicked =真或不..

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

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

你可以試試這個..所有的最好的..

+0

如果你發現我的答案有用,那麼請檢查標記..運氣最好.. – zanky

+0

這段代碼沒有給出正確的輸出........... – zahra

+0

這段代碼發生了什麼? – zanky