Unity3D常用脚本Word下载.docx
- 文档编号:1563664
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:25
- 大小:429.30KB
Unity3D常用脚本Word下载.docx
《Unity3D常用脚本Word下载.docx》由会员分享,可在线阅读,更多相关《Unity3D常用脚本Word下载.docx(25页珍藏版)》请在冰点文库上搜索。
心得:
场景转换时,这个程序贴在按钮界面场景中。
在BuildSetting(导出)(在File下)菜单中加入所需场景。
0为按钮界面。
可以无限增加场景。
}elseif(GUI.Button(Rect(Screen。
width/2-380,Screen.height/2—130,60,50),”Scene2”)){
);
Application.LoadLevel
(2);
复制此段程序并做修改。
运动控制键:
上下左右
varTankSpeed:
int=20;
functionUpdate(){
if(Input.GetKey(KeyCode。
W)){
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);
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”);
enabled=true;
if(GUI.Button(Rect(0,160,150,20),"
Ok”));
print("
userclickedok”);
鼠标碰触第一个按钮有解释,鼠标碰触第三个对话框有解释。
碰第二个没有解释。
GUI.Box(Rect(5,300,110,75),GUIContent(”Box"
"
Thisboxhasatooltip"
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);
半透明,说明性文字对话框。
无选择。
BeginGroup(newRect(Screen.width/2—400,Screen.height/2—300,800,600));
Box(newRect(0,0,800,600),"
Thisboxisnowcentered!
-hereyouwouldputyourmainmenu”);
GUI.EndGroup();
滚动条,选择按钮.可以放多个按钮并且节省位置。
varscrollPosition=Vector2.zero;
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"
Button(Rect(0,180,100,20),”Bottom—left”);
Button(Rect(120,180,100,20),”Bottom-right”);
EndScrollView();
循环的字幕。
varletterPause=0。
2;
//定义每个字出现的时间间隔
varsound:
AudioClip;
//打字机的声音
privatevarword;
//存储你打字机效果想要输出的字的变量
privatevarText:
String="
MynameisRayYang。
Keepitinyourheart!
;
//你希望打字机效果输出的字
functionStart(){
word=Text;
//把你输出的字先赋值给word
Text=”"
//把你要显示的字先抹除,以便你可以在最初显示的时候显示为空,当然你也可以加上其他字,让他先显示,打字机效果打的字会显示在这个后面
yieldWaitForSeconds
(2);
TypeText();
functionOnGUI(){
Label(Rect(150,15,250,25),"
Pleaseanswermyquestion,whoamI?
Box(Rect(150,40,250,25),Text);
functionTypeText(){
for(varletterinword。
ToCharArray()){//做一个循环,定义一个变量letter逐次等于word中的每一个字符
Text+=letter;
//把这些字赋值给Text
if(sound)//控制声音,出现一个字,发一个声音
audio.PlayOneShot(sound);
yieldWaitForSeconds(letterPause);
}
if(Text==word){
Text="
”;
TypeText();
有打字声音的字幕循环。
varscrenbutton:
boolean;
varicon:
Texture;
varletterPause=0.2;
varsound:
staticvarText:
String=”Thisiszcxfirstproject!
Icandoit.”;
vardel:
boolean=false;
varparticle:
GameObject;
DontDestroyOnLoad(this);
screnbutton=true;
Text=””;
yieldWaitForSeconds
(2);
if(Input。
GetKeyDown(KeyCode。
Escape)){
screnbutton=true;
if(Text==”Thisiszcxfirstproject!
Icandoit."
){
Text="
”;
TypeText();
if(Input.GetMouseButtonDown(0)){
Text="
for(varc:
charinInput.inputString){
//Backspace—Removethelastcharacter
if(c=="
\b"
){
if(guiText。
text。
Length!
=0)
guiText.text=guiText。
text.Substring(0,guiText。
Length-1);
//Endofentry
elseif(c=="
\n”){
Userenteredhisname:
"
+guiText.text);
//Normaltextinput-justappendtotheend
else{
guiText.text+=c;
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。
width/2—30,Screen.height/2+90,60,50),”scene3"
)){
print(”youclickScene3”);
Application.LoadLevel(3);
}elseif(GUI。
width/2-30,Screen。
height/2+150,60,50),"
Quit"
youclickQuit"
Application。
Quit();
//GUI.Button(Rect(0,0,100,20),”ClickMe”);
GUI.Button(Rect(0,0,100,20),GUIContent(”Clickme"
,"
Thisisthetooltip”));
Label(Rect(0,20,100,40),GUI.tooltip);
allOptions=GUI.Toggle(Rect(40,40,150,20),allOptions,”EditAllOptions”);
enabled=allOptions;
extended1=GUI。
Toggle(Rect(60,60,130,20),extended1,"
ExtendedOption1"
extended2=GUI。
Toggle(Rect(60,80,130,20),extended2,”ExtendedOption2"
GUI.enabled=true;
if(GUI。
Button(Rect(40,100,150,20),"
Ok"
))
print(”userclickedok”);
BeginGroup(newRect(Screen.width/2—400,Screen.height/2-300,800,600));
GUI.Box(newRect(0,0,800,600),
-hereyouwouldputyourmainmenu"
EndGroup();
GUI.Label(Rect(250,75,250,25),"
Pleaseintroduceyourobjec!
”);
GUI.Box(Rect(250,100,250,25),Text);
functionTypeText(){
ToCharArray()){//做一个循环,定义一个变量letter逐次等于word中的每一个字符
Text+=letter;
if(sound)//控制声音,出现一个字,发一个声音
audio.PlayOneShot(sound);
yieldWaitForSeconds(letterPause);
主板游戏系列程序:
CameraMoveRotate(第一视角界面场景自控程序)
使用时点击鼠标右键可以自由转换视角.同时点击AWSD键可以控制前进后退,向左向右.C#程序。
usingUnityEngine;
usingSystem.Collections;
///MouseLookrotatesthetransformbasedonthemousedelta.
///MinimumandMaximumvaluescanbeusedtoconstrainthepossiblerotation
///TomakeanFPSstylecharacter:
///-Createacapsule.
///-Addarigidbodytothecapsule
///—AddtheMouseLookscripttothecapsule。
///->
SetthemouselooktouseLookX.(Youwanttoonlyturncharacterbutnottiltit)
///-AddFPSWalkerscripttothecapsule
///-Createacamera.Makethecameraachildofthecapsule.Resetit'
stransform。
///—AddaMouseLookscripttothecamera.
///—>
SetthemouselooktouseLookY。
(Youwantthecameratotiltupanddownlikeahead.Thecharacteralreadyturns.)
[AddComponentMenu(”Camera-Control/MouseLook"
)]
publicclassCameraMoveRotate:
MonoBehaviour{
publicenumRotationAxes{MouseXAndY=0,MouseX=1,MouseY=2}
publicRotationAxesaxes=RotationAxes。
MouseXAndY;
publicfloatsensitivityX=15F;
publicfloatsensitivityY=15F;
publicfloatminimumX=-360F;
publicfloatmaximumX=360F;
publicfloatminimumY=-60F;
publicfloatmaximumY=60F;
publicfloatmoveSpeed=5。
0F;
floatrotationX=0F;
floatrotationY=0F;
QuaternionoriginalRotation;
voidUpdate()
{
//鼠标控制的转向
if(!
Input.GetMouseButton
(1)){
return;
}else{
if(axes==RotationAxes。
MouseXAndY)
{
//Readthemouseinputaxis
rotationX+=Input。
GetAxis("
MouseX"
)*sensitivityX;
rotationY+=Input.GetAxis(”MouseY”)*sensitivityY;
rotationX=ClampAngle(rotationX,minimumX,maximumX);
rotationY=ClampAngle(rotationY,minimumY,maximumY);
QuaternionxQuaternion=Quaternion.AngleAxis(rotationX,Vector3.up);
QuaternionyQuaternion=Quaternion。
AngleAxis(rotationY,—Vector3。
right);
transform。
localRotation=originalRotation*xQuaternion*yQuaternion;
}
elseif(axes==RotationAxes。
MouseX)
{
rotationX+=Input.GetAxis("
MouseX”)*sensitivityX;
rotationX=ClampAngle(rotationX,minimumX,maximumX);
QuaternionxQuaternion=Quaternion。
AngleAxis(rotationX,Vector3.up);
transform.localRotation=originalRotation*xQuaternion;
}
else
rotationY+=Input。
GetAxis(”MouseY"
)*sensitivityY;
rotationY=ClampAngle(rotationY,minimumY,maximumY);
AngleAxis(—rotationY,Vector3。
right);
transform.localRotation=originalRotation*yQuaternion;
}
}
//键盘控制的运动
floatx=Input.GetAxis("
Horizontal"
)*Time。
deltaTime*moveSpeed;
floatz=Input。
Vertical”)*Time。
deltaTime*moveSpeed;
transform。
Translate(x,0,z);
voidStart()
{
//Maketherigidbodynotchangerotation
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Unity3D 常用 脚本