2019年5月6日 星期一

黃惠嘉05160080_VR_Week12

視窗顯示
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class windows : MonoBehaviour
{
public Rect windowPosition;//儲存不可被拖曳的window的位置
public Text First;
public Rect buttonPosition;//儲存button在window內的位置
bool a=true;
void Start()
{
setWindowPosition();
setButtonPosition();
First.GetComponent<Text>() ;
First.text="按下手把的trigger即可進入遊戲";

}

void setWindowPosition()//設定window的位置
{
float windowWidth = 500f;
float windowHeight = 150f;
float windowLeft = Screen.width * 0.5f - windowWidth * 0.5f;//window和Game左邊的距離,目前設定的值會讓window顯示在螢幕正中央
float windowTop = Screen.height * 0.5f - windowHeight * 0.5f;//window和Game上面的距離,目前設定的值會讓window顯示在螢幕正中央

windowPosition = new Rect(0, 0, windowWidth, windowHeight);//將不可被拖曳的window設定在Game左上角
}

void setButtonPosition()//設定windows內的button位置
{
float buttonWidth = 50f;//按鈕的寬度
float buttonHeight = 50f;//按鈕的高度
float buttonLeft = windowPosition.width * 0.9f - buttonWidth * 0.5f;//按鈕和window左邊的距離,目前的值會讓button顯示在window的正中央
float buttonTop = windowPosition.height * 0.7f - buttonHeight * 0.5f;//按鈕和window上面的距離,目前的值會讓button顯示在window的正中央

buttonPosition = new Rect(buttonLeft, buttonTop, buttonWidth, buttonHeight);//button將會顯示在window正中央
}
void OnGUI()
{
//顯示window,但是無法拖曳
if(a){
GUI.Window(0, windowPosition, windowEvent, "對話");
}else{
First.text="";
}
}

void windowEvent(int id)//處理視窗裡面要顯示的文字、按鈕、事件處理。必須要有一個為int的傳入參數
{
if (GUI.Button(buttonPosition, "確定"))//在window上顯示按鈕
{
if (id == 0)//若是id為0,代表是不可被拖曳的window
{
Debug.Log("進入遊戲");
a=false;
}
}
}
}

沒有留言:

張貼留言