《Unity3D常用脚本》由会员分享,可在线阅读,更多相关《Unity3D常用脚本(16页珍藏版)》请在金锄头文库上搜索。
1、 .场景转换: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 Sce
2、ne1); 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 Qu
3、it); Application.Quit(); 心得:场景转换时,这个程序贴在按钮界面场景中。在Build Setting(导出)(在File下)菜单中加入所需场景。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;func
4、tion 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
5、(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, 1
6、00, 20), GUIContent (Click me, This is the tooltip); GUI.Label (Rect (0, 40, 100, 40), GUI.tooltip); 多项选择,以上都选择。var allOptions = true;var extended1 = true;var extended2 = true;function OnGUI () allOptions = GUI.Toggle (Rect (0,120,150,20), allOptions, Edit All Options);GUI.enabled = allOptions;exten
7、ded1 = GUI.Toggle (Rect (20,70,130,20), extended1, Extended Option 1);extended2 = GUI.Toggle (Rect (20,90,130,20), extended2, Extended Option 2);GUI.enabled = true;if (GUI.Button (Rect (0, 160, 150, 20), Ok);print (user clicked ok);鼠标碰触第一个按钮有解释,鼠标碰触第三个对话框有解释。碰第二个没有解释。function OnGUI () GUI.Box (Rect
8、(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), GUI.tooltip); 半透明,说明性文字对话框。无选择。function Update () functio
9、n 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 = Vector2.zero;function OnGUI ()
10、 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 ();
11、 循环的字幕。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 = ;/把你要显示的字先抹除,以便你可以在最初显示的时候显示为空,当然你也可以加上其他字,让他先显示,打字机效
12、果打的字会显示在这个后面 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
13、(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
14、sound : AudioClip;/打字机的声音 private var word;/存储你打字机效果想要输出的字的变量 static var Text : String = This is zcx first project! I can do it.;var del : boolean = false;var particle : GameObject;function Start()DontDestroyOnLoad(this);screnbutton=true;word = Text;Text = ;yield WaitForSeconds (2); TypeText (); function Update () if(Input.GetKeyDown(KeyCode.Escape)screnbutton=true;if( Text = This is zcx first project! I can