暴躁小强 发表于 2012-11-15 15:47

Unity3D碰撞中常用代码分析及脚本


01、基本碰撞检测代码

function OnCollisionEnter(theCollision : Collision){

if(theCollision.gameObject.name == "Floor"){

Debug.Log("Hit the floor");

   }else if(theCollision.gameObject.name == "Wall"){

Debug.Log("Hit the wall");

   }

}

02、检测输入

function Update () {

          if(Input.GetButtonUp("Jump")){

            Debug.Log("We Have Hit the Space Bar!");

         }

      }

03、销毁对象

function Start () {

Destroy(gameObject.Find("Box"), 3);

}

04、实例来创建对象

//Simple Instantiation of a Prefab at Start

var thePrefab : GameObject;

function Start () {

var instance : GameObject = Instantiate(thePrefab, transform.position, transform.rotation);

}



建立JAVA,把代码拖入到空GameJect上,然后把Prefab拖入到公共变量上,就可以了

05、简易定时器

var myTimer : float = 5.0;

function Update () {

if(myTimer > 0){

myTimer -= Time.deltaTime;

}

if(myTimer <= 0){

Debug.Log("GAME OVER");

}

}

06、物体在屏幕上移动

var speed : float = 5.0;

function Update () {

transform.Translate(Vector3(0,0,speed) * Time.deltaTime);

}

07、钢体向目标处移动

//Basic force to move a rigidbody object

var power : float = 500.0;

function Start () {

rigidbody.AddForce(Vector3(0,0,power));

}

08、碰撞然后转到下一场景

function OnCollisionEnter (myCollision : Collision) {

if(myCollision.gameObject.name == "Floor"){

Application.LoadLevel(myLevel);

}

}

floor---被动碰撞的的纲体

把代码拉到主动纲体上

然后

场景设置:file----build seting----对话框,然后把当前场景拖里,然后把下一场景拖里,测试OK

aaabbbsss12345 发表于 2014-5-27 11:23

学习了 学习了 谢谢分享

31715947 发表于 2017-5-9 12:17

很不错

liu20088dan 发表于 2017-5-9 11:56

顶顶多好

31715947 发表于 2017-5-9 11:51

真心顶

BPSZD 发表于 2017-5-9 11:46

难得一见的好帖

eyestar 发表于 2017-5-9 12:08

LZ真是人才

he63110 发表于 2017-6-7 16:27

楼主是超人

随风去旅行 发表于 2017-6-7 16:30

好帖就是要顶

tfcs2012 发表于 2017-6-7 15:59

顶顶多好
页: [1]
查看完整版本: Unity3D碰撞中常用代码分析及脚本