Unity3D+8个入门代码示例
(2020年整理)Unity3D常用脚本.pptx

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 下)菜单中加 入所需场景。
var particle : GameObject;
function Start(){ DontDestroyOnLoad(this); screnbutton=true;
word = Text; Text = ""; yield WaitForSeconds (2); TypeText ();
Unity3D常用代码总结

import System;
import System.Runtime.InteropServices;
@DllImport("user32.dll")
public static function MessageBox(Hwnd : int,text : String,Caption : String,iType : int) : int {};
tempData._iUser.Ceshi2 = "?";
tempData._iUser.Ceshi3 = 0;
tempData._iUser.Ceshi4 = 0;
var writer : StreamWriter;
var t : FileInfo = new FileInfo(_FileLocation+"/"+ _FileName);
GUI.SelectionGrid(Rect(1,201,190,20),2,["Selection","Grid","select3"],3); //10
GUI.HorizontalSlider(Rect(1,221,180,20),3.0,0,10.0); //11
GUI.VerticalScrollbar(Rect(1,241,20,100),3.0,1,0.0,10.0); //12
}
private var c1 : String;
private var c2 : String;
private var c3 : float;
private var c4 : int;
unity8个入门代码

rigibody.AddForce(Vector3(0,0,power);//Time.deltaTime:每秒耗时 } 08,碰撞然后转到下一个场景 function OnCollisionEnter(theCollision:Collision){ if(=="Floor"){ Application.LoadLevel("name");//参数亦可以是int型的 } }
} 04,实例创建对象 GameObject g=Instantiate(PREFAB,Pos,transform.rotation); 05,简易定时器 var myTimer: float =5.0f; function Update(){ if(myTimer>0) myTimer-=Time.deltaTime;} if(myTimer<=0) Debug.log("Game End");} } 06,物体移动 var speed:float =5.0f; function Update(){ transform.Translate(Vector3(0,0,speed)*Time.deltaTime);//Time.deltaTime:每秒耗时 } 07,刚体向目标处移动 var power:float =500.0f; function Update(){
我佛了刚刚看到一个博客确实牛逼全新方案202033都已经可以激活到2099年只能说真香
unity8个 入 门 代 码
01,基本碰撞检测代码 function OnCollisionEnter(theCollision:Collision){ if(=="Floor"){ Debug.Log("Hit the floor"); } else if(=="Wall"){ Debug.Log("Hit the Wall); } } 02,检测输入 tion Update(){ if( Input.GetButtonUp("Jump"){ Debug.Log("We Have HIt The Space Bar"); } } 03,销毁对象 function Update(){ Destroy(game.Find("Box"),3);
Unity3D简单的怪物AI代码(C#脚本)

Unity3D简单的怪物AI代码(C#脚本)using UnityEngine;using System.Collections;public class BoosAI : MonoBehaviour{//敌人状态//敌人站立状态public const int STATE_STAND = 0;//敌人行走public const int STATE_WALK = 1;//敌人奔跑状态public const int STATE_RUN = 2;//记录敌人的当前状态private int enemyState;//主角对象private GameObject hero;//备份上一次的敌人思考时间private float backUptime;//敌人思考下一次行为的时间public const int AI_THINK_TIME = 2;//敌人的巡逻范围public const int AI_ATTACK_DISTANCE = 10;// Use this for initializationvoid Start(){//得到主角对象hero = GameObject.Find("Cube");//设置敌人的默认状态站立enemyState = STATE_STAND;}// Update is called once per framevoid Update(){//判断敌人与主角的距离if (Vector3.Distance(transform.position, hero.transform.position) <(AI_ATTACK_DISTANCE)){//敌人进入奔跑状态gameObject.animation.Play("run");enemyState = STATE_RUN;//设计敌人面朝主角方向transform.LookAt(hero.transform);}//敌人进入巡逻状态else{//计算敌人的思考时间if (Time.time - backUptime >= AI_THINK_TIME){//敌人开始思考backUptime = Time.time;//取得0~2之间的随机数int rand = Random.Range(0,2);if (rand == 0){//敌人进入站立状态gameObject.animation.Play("idle");enemyState = STATE_STAND;}else if (rand == 1){//敌人进入站立状态//敌人随机旋转角度Quaternion rotate = Quaternion.Euler(0,Random.Range(1,5) * 90,0);//1秒内完成敌人旋转transform.rotation = Quaternion.Slerp(transform.rotation,rotate,Time.deltaTime * 1000);//播放行走动画gameObject.animation.Play("walk");enemyState = STATE_WALK;}}}switch (enemyState){case STATE_STAND:break;case STATE_WALK://敌人行走transform.Translate(Vector3.forward * Time.deltaTime);break;case STATE_RUN://敌人朝向主角奔跑if (Vector3.Distance(transform.position, hero.transform.position) > 3){transform.Translate(Vector3.forward * Time.deltaTime * 3);}break;}}}。
unity 3d 入门教程

1)Why:作为操作对象
2)How:Game object —create other —cube
3)Tip:在Hierarchy视图中选中Main Camera,有时会发现立方体并不在相机视线范围内,此时,有一个小技巧可以让Scene视图中所有对象在相机范围的中心(如果Scene视图中只有一个对象,则该对象居于相机范围的中心,如果有多个对象,则所有对象组合的中心位于相机的中心):
Audio的常用属性含义如下:
Audio Clip:所要播放的声音片段
Mute:是否静音
Play on awake:是否在程序运行时自动播放(默认小,取值范围0.0--1.0(默认为1,最大音量)
Pitch:音频播放速度(默认为1,正常播放,小于1为慢速播放,大一1为加速播放)
public AudioSource music;
void OnGUI() {
if (GUI.Button(new Rect(0, 60, 100, 50), "Play"))
{
if(!music.isPlaying)
{
music.Play();
}
}
if (GUI.Button(new Rect(0, 120, 100, 50), "Pause"))
7.游戏音频
Audio Source
Audio Listener
Audio Source是我们所要播放的音频文件,而Audio Listener则是用来监听播放音频的。Unity3d支持四种格式的音频文件,即常用的MP3,wav格式和aiff,ogg格式。
How:由于audio属于组件(component),所以需要绑定在对象上才能正常播放。我们可以把音频绑定在camera上,或许绑定在场景中的其他对象上,当然也可以将其绑定在一个空对象上。
Unity3D常用代码

} else {
if ((Screen.width / (float)Screen.height) < (screenSize.x / screenSize.y)) {
if (scaleType == ScreenScaleType.Fit) {
GUI自适应屏幕
public override void GUIDraw (){
//开始缩放
//先定义一个标准屏幕大小代码按照这个分辨率写,这里屏是800*480象素,GUI矩阵再乘以新的缩放矩阵实现GUI的缩放,GUI.matrix*=scaleMatrix;
ScreenScaleUtil.BeginScreenScale ();
}
public static void EndScreenScale(){
if(lstMats.Count<=0)
return;
GUI.matrix=lstMats[lstMats.Count-1];
lstMats.RemoveAt(lstMats.Count-1);
}
}
1 GUI汇总
function OnGUI() {
GUI.matrix*=ScaleMatrix;
}
public static void BeginScreenScale(ScreenScaleType scaleType ){
if(lstMats.Count>0){s.Add(GUI.matrix);
GUI.matrix*=GetScreenScaleMatrix(screenSize,scaleType);
screenSize = new Vector2 (800, 480);
Unity3d 我的代码
FoxPDF TXT转换成PDF格式转换器 3.0 (未注册) | http://www. /TXT-to-PDF-Converter/TXT-to-PDF-Converter.html
// 向下箭头 if (Input.GetKey(KeyCode.DownArrow)) { movev += m_speed * Time.deltaTime; } // 向左 if (Input.GetKey(KeyCode.LeftArrow)) { moveh += m_speed * Time.deltaTime; } // 向右 if (Input.GetKey(KeyCode.RightArrow)) { moveh -= m_speed * Time.deltaTime; } // this即Player this.transform.Translate(new Vector3(moveh, 0, movev)); /** * 物理转换器 * this.transform调用游戏体的Transform组件 * Transform包装移动、旋转、缩放 * Vector3(x, y, z) **/ } } 2)创建子弹控制脚本 using UnityEngine; using System.Collections; [AddComponentMenu ("MyGame/Rocket") ] /** * 子弹 **/ public class Rocket : MonoBehaviour { public float m_speed = 10; public float m_liveTime = 1; public float m_power = 1.0f; // 速度 // 生命 // 威力 // 没渲染一帧,生命值即减少一定时间
unity3d功能脚本大全
1.右键菜单function OnGUI(){if(Input.GetMouseButton(1)){GUILayout.BeginArea (new Rect (Input.mousePosition.x,Screen.height-Input.mousePosition.y,200,200));GUILayout.Box("This is a Context Menu");GUILayout.EndArea ();}}/*if(Input.GetMouseButton(0))Debug.Log("Pressed left click.");if(Input.GetMouseButton(1))Debug.Log("Pressed right click.");if(Input.GetMouseButton(2))Debug.Log("Pressed middle click.");*/2.用辅助键/双键控制视角using UnityEngine;using System.Collections;public class ControlCamerMove : MonoBehaviour {void Update () {if(Input.GetKeyDown(KeyCode.LeftControl)){this.GetComponent<MouseLook>().enabled = false;}if(Input.GetKeyUp(KeyCode.LeftControl)){this.GetComponent<MouseLook>().enabled = true;}}}3.与网页交互-打开网页function OnGUI()bel("当前场景:"+ Application.loadedLevelName);if(GUILayout.Button("打开网页"))Application.OpenURL("");}4.在unity中播放视频--绘制#pragma strictvar movTexture:MovieTexture;function Start (){movTexture.loop = true;}function OnGUI(){GUI.DrawTexture(new Rect (0,0,Screen.width,Screen.height),movTexture,ScaleMode.StretchToFill);if(GUILayout.Button("播放/继续")){if (!movTexture.isPlaying){movTexture.Play();}}if(GUILayout.Button("暂停播放")){movTexture.Pause();}if(GUILayout.Button("停止播放")){ 贴图movTexture.Stop();}}5.在unity中播放视频--作为plane的材#pragma strictvar movTexture:MovieTexture;function Start (){this.renderer.material.mainTexture = movTexture;movTexture.loop = true;}function OnGUI(){if(GUILayout.Button("播放/继续")){if (!movTexture.isPlaying){movTexture.Play();}}if(GUILayout.Button("暂停播放")){movTexture.Pause();}if(GUILayout.Button("停止播放")){movTexture.Stop();}}6.用材质偏移模拟水流效果using UnityEngine;using System.Collections;public class Whatflow : MonoBehaviour {public float scrollSpeed=3;void Update () {float offset = Time.time*scrollSpeed;renderer.material.SetTextureOffset("_MainTex",new Vector2(0,offset));}}7.从网页上获取一张图片并动态使用var url = "/attachments/images/201011/20101110/20101109_da85542f8635f3c5 b963vil1B8qeeS9O.jpg";function Start () {var www : WWW = new WWW (url);//定义www为WWW类型并且等于被下载的内容。
unity3D 基础
unity3D 基础(1)unity 3D 面板由菜单栏,工程视图,层级视图,属性视图,场景视图,游戏视图,调试窗口。
(2)Reset:进行复位(3)Inspector: 属性窗口(4)ISO(平行视图下) Persp(透视视图下)(5)ALT+鼠标左键:围绕焦点旋转视野(6)无论添加水体或是天空盒子还是第几人称都是先导入包然后在属性面板进行操作(7)添加阴影在平行光的属性面板中操作。
(8)绘制公路导包EasyRoads3D创建EasyRoad3D .创建前三个(9)树木创建器在GameObject Create Other Tree在Inspect窗口中显示出Tree Creator具体步骤1>选择树根建立主干然后设置分支Distribution为whorled设置Frequency为30。
2>提高主干开始长出分支干的高度。
3>使得分支向上生长更节点属性:Tree Seed :改变部位在父物体上的位置。
Area Spread:蔓延区域。
Ground Offset:地面偏移。
LOD Quality:定义树的细节细节级别。
AmbientOcclusion:是否产生环境遮挡效果。
树干节点属性:Group Seed:子枝干在父枝干的位置。
Frequency:频率,在调节枝干产生的位置。
Distribution :枝干分布。
Twirl:子枝干在父枝干的扭转角度。
Growth Angle:子枝干生长角度。
Branch Material:枝干的材质。
Length :枝干的长度范围。
想了解更多到狗刨学习网。
Unity3D简单小游戏脚本(1):EatCoin
Unity3D简单⼩游戏脚本(1):EatCoin 今⽇闲来⽆事,敲些代码也⽆妨1//coin脚本,命名为Pickup23using System.Collections;4using System.Colllections.Generic;5using UnityEngine;67public class Pickup : MonoBehaviour {8//初始化9void start(){10 }11//每帧刷新12void Updata(){13 transform.Rotate(new Vector3(30,30,30)*Time.deltaTime);14//随时间进⾏30°旋转15 }16 }//player脚本,命名为Playerusing System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class Player : MonoBehaviour {Rigidbody rigid; //定义刚体float speed =3; //设定速度int count = 0; //设定⾦币数public AudioClip Pickup,Victory,Six,two,three,four,five;//定义各阶段的⾳效,并将其可见public UnityEngine.UI.Text tips; //定义UI计分板// Use this for initializationvoid Start () {rigid = GetComponent<Rigidbody> (); //初始化刚体组件}// Update is called once per framevoid Update () {var h = Input.GetAxis ("Horizontal"); //定义并得到输⼊的⽔平横轴位移var v = Input.GetAxis ("Vertical"); //定义并得到输⼊的⽔平纵轴位移var movement = new Vector3(h, 0, v); //定义位移⽮量rigid.AddForce (movement*speed);//为刚体添加⼒,⼤⼩为位移⽮量×速度Vector3 player =GetComponent<Transform>().position;//得到Player的当前三维坐标if (player.y < -3) {tips.text = "YOU LOST(失败没有⾳效,弟弟)";//若纵轴⼩于-3,提⽰游戏失败}}private void OnTriggerEnter(Collider other) //碰撞函数{if (other.GetComponent<Pickup> ()) { //如果发⽣碰撞other.gameObject.SetActive (false); //被碰撞者消失AudioSource.PlayClipAtPoint (Pickup, transform.position);//当前位置产⽣⾳效count++; //coin数增加RefreshTips (); //更新计分板}}void RefreshTips() //更新计分板函数{tips.text = " 你的⾦币数: " + count; //显⽰⽂字//达到不同coin数时的提⽰⾳效if (count == 2) {AudioSource.PlayClipAtPoint (two, transform.position);}if (count == 3) {AudioSource.PlayClipAtPoint (three, transform.position);}if (count == 4) {AudioSource.PlayClipAtPoint (four, transform.position);}if (count == 5) {AudioSource.PlayClipAtPoint (five, transform.position);}if (count == 6) {AudioSource.PlayClipAtPoint (Six, transform.position);tips.text = " YOU WIN ";//开始计时float m_time = 0f;m_time += Time.time;if (m_time >= 3f) {AudioSource.PlayClipAtPoint (Victory, transform.position); //延时播放,似乎没什么⽤QAQ }}}}游戏成品(渣的⼀批)链接:提取码:0uxq。