场景转换:
var screenbutton: boolean;
function Start(){
    DontDestroyOnLoad(this);
    screenbutton = true;
}
function Update () {
    if(Input.GetKeyDown(KeyCode.Escape)){
      screenbutton = true;
    }
}
function OnGUI(){
      if(screenbutton==true)
      if(GUI.Button(Rect(Screen.width/2-380,Screen.height/2-190,60,50),"Scene1")){
          print("You click Scene1");
          Application.LoadLevel (1);
          screenbutton = false;
      }else if(GUI.Button(Rect(Screen.width/2-380,Screen.height/2-130,60,50),"Scene2")){
          print("You click Scene2");
          Application.LoadLevel (2);
          screenbutton = false;
      }else if( GUI.Button(Rect(Screen.width/2-375,Screen.height/2-0,50,50),"Quit")){
          print("You click Quit");
          Application.Quit();
      }
}   
心得:
场景转换时,这个程序贴在按钮界面场景中。在Build Setting(导出)(在File下)菜单中加入所需场景。
unity3d入门
0为按钮界面。可以无限增加场景。
      }else if(GUI.Button(Rect(Screen.width/2-380,Screen.height/2-130,60,50),"Scene2")){
          print("You click Scene2");
          Application.LoadLevel (2);
          screenbutton = false;
复制此段程序并做修改。
运动控制键:上下左右
var TankSpeed:int = 20;
function Update () {
    if(Input.GetKey(KeyCode.W)){
      print("go");
      transform.Translate(Vector3.forward * Time.deltaTime * TankSpeed);
    }else if(Input.GetKey(KeyCode.S)){
      print("go back");
      transform.Translate(Vector3.forward * Time.deltaTime * -TankSpeed);
    }else if(Input.GetKey(KeyCode.A)){
      print("turn left");
      transform.Rotate(Vector3.up * Time.deltaTime * -TankSpeed);
    }else if(Input.GetKey(KeyCode.D)){
      print("turn right");
      transform.Rotate(Vector3.up * Time.deltaTime * TankSpeed);
    }
}
需要放在第一视角的物体或者摄像机上。
加天空背景:
菜单栏Component下的Rendering下的Skybox。将他加在所需场景的摄像机上,选择所需的天空。运行时自然出现。
各种按钮汇总:
鼠标碰触后显示说明文字。
function OnGUI () {
GUI.Button (Rect (0, 0, 100, 20), GUIContent ("Click me", "This is the tooltip"));
      GUI.Label (Rect (0, 40, 100, 40), ltip);
      }
多项选择,以上都选择。
var allOptions = true;
var extended1 = true;
var extended2 = true;
function OnGUI () {
allOptions = GUI.Toggle (Rect (0,120,150,20), allOptions, "Edit All Options");
abled = allOptions;
extended1 = GUI.Toggle (Rect (20,70,130,20), extended1,
"Extended Option 1");
extended2 = GUI.Toggle (Rect (20,90,130,20), extended2,
"Extended Option 2");
abled = true;
if (GUI.Button (Rect (0, 160, 150, 20), "Ok"));
print ("user clicked ok");
}
鼠标碰触第一个按钮有解释,鼠标碰触第三个对话框有解释。碰第二个没有解释。
function OnGUI () {
GUI.Box (Rect (5, 300, 110, 75), GUIContent ("Box", "This box has a tooltip"));
GUI.Button (Rect (10, 230, 100, 20), "No tooltip here");
GUI.Button (Rect (10, 200, 100, 20),
GUIContent ("I have a tooltip", "The button overrides the box"));
GUI.Label (Rect (10,260,100,40), ltip);
}
半透明,说明性文字对话框。无选择。
function Update () {
}
function OnGUI () {
GUI.BeginGroup (new Rect (Screen.width / 2 - 400, Screen.height / 2 - 300, 800, 600));
GUI.Box (new Rect (0,0,800,600),"This box is now centered! - here you would put your main menu");
GUI.EndGroup ();
}
滚动条,选择按钮。可以放多个按钮并且节省位置。
function Update () {
}
var scrollPosition = ;
function OnGUI () {
scrollPosition = GUI.BeginScrollView (Rect (10,400,100,100),
scrollPosition, Rect (0, 0, 220, 200));
GUI.Button (Rect (0,0,100,20), "Top-left");
GUI.Button (Rect (120,0,100,20), "Top-right");
GUI.Button (Rect (0,180,100,20), "Bottom-left");
GUI.Button (Rect (120,180,100,20), "Bottom-right");
GUI.EndScrollView ();
}
循环的字幕。
var letterPause = 0.2;//定义每个字出现的时间间隔
var sound : AudioClip;//打字机的声音
private var word;//存储你打字机效果想要输出的字的变量
private var Text : String = "My name is Ray Yang.Keep it in your heart!";//你希望打字机效果输出的字
function Start () {
word = Text;//把你输出的字先赋值给word
Text = "";//把你要显示的字先抹除,以便你可以在最初显示的时候显示为空,当然你也可以加上其他字,让他先显示,打字机效果打的字会显示在这个后面
yield WaitForSeconds (2);
TypeText ();
}
function OnGUI () {
GUI.Label (Rect(150,15,250,25),"Please answer my question,who am I?");
GUI.Box (Rect(150,40,250,25),Text);
}
function TypeText () {
for (var letter in word.ToCharArray()) {//做一个循环,定义一个变量letter逐次等于word中的每一个字符
  Text += letter;//把这些字赋值给Text
  if (sound)//控制声音,出现一个字,发一个声音
  audio.PlayOneShot (sound);
  yield WaitForSeconds (letterPause);
  }
}
function Update () {
if(Text == word){
    Text="";
    TypeText();
  }
  }
有打字声音的字幕循环。
var screnbutton:boolean;
var icon : Texture;
var allOptions = true;
var extended1 = true;
var extended2 = true;
var letterPause = 0.2;//定义每个字出现的时间间隔
var sound : AudioClip;//打字机的声音
private var word;//存储你打字机效果想要输出的字的变量

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。