找回密码
 立即注册
楼主: 暴躁小强

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

[复制链接]
发表于 2012-11-15 15:47 | 显示全部楼层 |阅读模式

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
发表于 2014-5-27 11:23 | 显示全部楼层
学习了 学习了 谢谢分享
发表于 2017-5-9 12:17 | 显示全部楼层
很不错
发表于 2017-5-9 11:56 | 显示全部楼层
顶顶多好
发表于 2017-5-9 11:51 | 显示全部楼层
真心顶
发表于 2017-5-9 11:46 | 显示全部楼层
难得一见的好帖
发表于 2017-5-9 12:08 | 显示全部楼层
LZ真是人才
发表于 2017-6-7 16:27 | 显示全部楼层
楼主是超人
发表于 2017-6-7 16:30 | 显示全部楼层
好帖就是要顶
发表于 2017-6-7 15:59 | 显示全部楼层
顶顶多好
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 19:50 , Processed in 0.163701 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表