您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Unity3D常用脚本
场景转换:varscreenbutton:boolean;functionStart(){DontDestroyOnLoad(this);screenbutton=true;}functionUpdate(){if(Input.GetKeyDown(KeyCode.Escape)){screenbutton=true;}}functionOnGUI(){if(screenbutton==true)if(GUI.Button(Rect(Screen.width/2-380,Screen.height/2-190,60,50),Scene1)){print(YouclickScene1);Application.LoadLevel(1);screenbutton=false;}elseif(GUI.Button(Rect(Screen.width/2-380,Screen.height/2-130,60,50),Scene2)){print(YouclickScene2);Application.LoadLevel(2);screenbutton=false;}elseif(GUI.Button(Rect(Screen.width/2-375,Screen.height/2-0,50,50),Quit)){print(YouclickQuit);Application.Quit();}}心得:场景转换时,这个程序贴在按钮界面场景中。在BuildSetting(导出)(在File下)菜单中加入所需场景。0为按钮界面。可以无限增加场景。}elseif(GUI.Button(Rect(Screen.width/2-380,Screen.height/2-130,60,50),Scene2)){print(YouclickScene2);Application.LoadLevel(2);screenbutton=false;复制此段程序并做修改。运动控制键:上下左右varTankSpeed:int=20;functionUpdate(){if(Input.GetKey(KeyCode.W)){print(go);transform.Translate(Vector3.forward*Time.deltaTime*TankSpeed);}elseif(Input.GetKey(KeyCode.S)){print(goback);transform.Translate(Vector3.forward*Time.deltaTime*-TankSpeed);}elseif(Input.GetKey(KeyCode.A)){print(turnleft);transform.Rotate(Vector3.up*Time.deltaTime*-TankSpeed);}elseif(Input.GetKey(KeyCode.D)){print(turnright);transform.Rotate(Vector3.up*Time.deltaTime*TankSpeed);}}需要放在第一视角的物体或者摄像机上。加天空背景:菜单栏Component下的Rendering下的Skybox。将他加在所需场景的摄像机上,选择所需的天空。运行时自然出现。各种按钮汇总:鼠标碰触后显示说明文字。functionOnGUI(){GUI.Button(Rect(0,0,100,20),GUIContent(Clickme,Thisisthetooltip));GUI.Label(Rect(0,40,100,40),GUI.tooltip);}多项选择,以上都选择。varallOptions=true;varextended1=true;varextended2=true;functionOnGUI(){allOptions=GUI.Toggle(Rect(0,120,150,20),allOptions,EditAllOptions);GUI.enabled=allOptions;extended1=GUI.Toggle(Rect(20,70,130,20),extended1,ExtendedOption1);extended2=GUI.Toggle(Rect(20,90,130,20),extended2,ExtendedOption2);GUI.enabled=true;if(GUI.Button(Rect(0,160,150,20),Ok));print(userclickedok);}鼠标碰触第一个按钮有解释,鼠标碰触第三个对话框有解释。碰第二个没有解释。functionOnGUI(){GUI.Box(Rect(5,300,110,75),GUIContent(Box,Thisboxhasatooltip));GUI.Button(Rect(10,230,100,20),Notooltiphere);GUI.Button(Rect(10,200,100,20),GUIContent(Ihaveatooltip,Thebuttonoverridesthebox));GUI.Label(Rect(10,260,100,40),GUI.tooltip);}半透明,说明性文字对话框。无选择。functionUpdate(){}functionOnGUI(){GUI.BeginGroup(newRect(Screen.width/2-400,Screen.height/2-300,800,600));GUI.Box(newRect(0,0,800,600),Thisboxisnowcentered!-hereyouwouldputyourmainmenu);GUI.EndGroup();}滚动条,选择按钮。可以放多个按钮并且节省位置。functionUpdate(){}varscrollPosition=Vector2.zero;functionOnGUI(){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();}循环的字幕。varletterPause=0.2;//定义每个字出现的时间间隔varsound:AudioClip;//打字机的声音privatevarword;//存储你打字机效果想要输出的字的变量privatevarText:String=MynameisRayYang.Keepitinyourheart!;//你希望打字机效果输出的字functionStart(){word=Text;//把你输出的字先赋值给wordText=;//把你要显示的字先抹除,以便你可以在最初显示的时候显示为空,当然你也可以加上其他字,让他先显示,打字机效果打的字会显示在这个后面yieldWaitForSeconds(2);TypeText();}functionOnGUI(){GUI.Label(Rect(150,15,250,25),Pleaseanswermyquestion,whoamI?);GUI.Box(Rect(150,40,250,25),Text);}functionTypeText(){for(varletterinword.ToCharArray()){//做一个循环,定义一个变量letter逐次等于word中的每一个字符Text+=letter;//把这些字赋值给Textif(sound)//控制声音,出现一个字,发一个声音audio.PlayOneShot(sound);yieldWaitForSeconds(letterPause);}}functionUpdate(){if(Text==word){Text=;TypeText();}}有打字声音的字幕循环。varscrenbutton:boolean;varicon:Texture;varallOptions=true;varextended1=true;varextended2=true;varletterPause=0.2;//定义每个字出现的时间间隔varsound:AudioClip;//打字机的声音privatevarword;//存储你打字机效果想要输出的字的变量staticvarText:String=Thisiszcxfirstproject!Icandoit.;vardel:boolean=false;varparticle:GameObject;functionStart(){DontDestroyOnLoad(this);screnbutton=true;word=Text;Text=;yieldWaitForSeconds(2);TypeText();}functionUpdate(){if(Input.GetKeyDown(KeyCode.Escape)){screnbutton=true;}if(Text==Thisiszcxfirstproject!Icandoit.){Text=;TypeText();}if(Input.GetMouseButtonDown(0)){Text=;for(varc:charinInput.inputString){//Backspace-Removethelastcharacterif(c==\b){if(guiText.text.Length!=0)guiText.text=guiText.text.Substring(0,guiText.text.Length-1);}//Endofentryelseif(c==\n){print(Userenteredhisname:+guiText.text);}//Normaltextinput-justappendtotheendelse{guiText.text+=c;}}}}functionOnGUI(){if(screnbutton==true){if(GUI.Button(Rect(Screen.width/2-30,Screen.height/2-30,60,50),scene1)){print(youclickScene1);Application.LoadLevel(1);screnbutton=false;}elseif(GUI.Button(Rect(Screen.width/2-30,Screen.height/2+30,60,50),scene2)){print(youclickScene2);Application.LoadLevel(2);screnbutton=false;}elseif(GUI.Button(Rect(Screen.width/2-30,Screen.height/2+90,60,50),scene3)){print(youclickScene3);Application.LoadLevel(3);screnbutton=false;}elseif(GUI.Button(Rect(Screen.width/2-30,Screen.height/2+150,60,50),Quit)){print(youclickQuit);Application.Quit();}}//GUI.Button(Rect(0,0,100,20),ClickMe);GUI.Button(Rect(0,0,100,20),GUIContent(Clickme,
本文标题:Unity3D常用脚本
链接地址:https://www.777doc.com/doc-8570819 .html