Unity3D+8个入门代码示例

合集下载

(2020年整理)Unity3D常用脚本.pptx

(2020年整理)Unity3D常用脚本.pptx
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 下)菜单中加 入所需场景。
var particle : GameObject;
function Start(){ DontDestroyOnLoad(this); screnbutton=true;
word = Text; Text = ""; yield WaitForSeconds (2); TypeText ();

Unity3D常用代码总结

Unity3D常用代码总结
2 JS调用DLL
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个入门代码

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#脚本)

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 入门教程

unity 3d 入门教程
5.新建操作对象(立方体模拟人物)
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常用代码

Unity3D常用代码
scaleMatrix = Matrix4x4.identity;
} 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 我的代码

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功能脚本大全

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类型并且等于被下载的内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档