unity3d中創(chuàng)建滑動GUI
來源:
|
責(zé)任編輯:她。 |
發(fā)布時間: 2013-07-03 09:08 | 瀏覽量:
/*
在unity3d中創(chuàng)建滑動GUI
功能實現(xiàn):
1.創(chuàng)建一個GUITexture : create-> GUITexure;
此時可以通過修改component 欄中的選項,改變gui的texture等;
這樣建立的GUITexture從屬于整個屏幕平面,作為一個新的物體出現(xiàn),他的位置不受camera的位置的影響,
就是說,不管camera移動到哪里,這個GUI始終在你設(shè)定的位置;
2. 將GUIslider.js附加到GUITexture上;maincamera作為其參數(shù),應(yīng)該將camera指定到上面;
GUIslider.js:
*/
var mainCamera:Camera;//將你自己的camera賦值到這個camera上面
var customButton : GUIStyle;// 為新出現(xiàn)的GUI設(shè)置Style
private var newPosition:Vector3;// GUI移動后新的位置
private var MouseUp: boolean;//顯示Mouse是夠是Up狀態(tài)
private var getPosition : int = 0;//得到鼠標(biāo)離開GUI的幀數(shù)
private var subGuiShowUp : int = 0;//統(tǒng)計幀數(shù),控制subGUI出現(xiàn)
function Update () {
if(MouseUp){
if(getPosition < 12)
{
newPosition.x = mainCamera.ScreenToViewportPoint(Input.mousePosition).x;
getPosition +=1;
}
if(Mathf.Abs(transform.position.x - newPosition.x) > 0.00001){
transform.position.x += (newPosition.x - transform.position.x)*Time.deltaTime*6;
}
}
}
function OnMouseDrag(){
MouseUp = false;
subGuiShowUp +=1;
getPosition = 13;
transform.position.x += (mainCamera.ScreenToViewportPoint(Input.mousePosition).x - transform.position.x)*Time.deltaTime*10;
}
function OnMouseUp(){
print(transform.position.x);
MouseUp = true;
getPosition = 0;
//subGuiShowUp = 25;
}
function OnGUI(){
if(MouseUp){
if(subGuiShowUp < 12){
GUI.Button (Rect (5,5,100,100), "Hello World", customButton);
}
}
}
function OnMouseDown(){
subGuiShowUp = 0;
}
- Tags:Unity
-
分享到:
相關(guān)文章
網(wǎng)友評論
全部評論:0條
推薦
熱門