找回密码
 立即注册
查看: 10643|回复: 83

[实例] Unity3d【坦克大战图文教学2】发射导弹并绑定灯光及粒子效果

  [复制链接]
发表于 2012-12-19 15:24 | 显示全部楼层 |阅读模式
资源信息 Tutorial Information
教程名称: Unity3d【坦克大战图文教学2】发射导弹并绑定灯光及粒子效果(发帖教程)
适用引擎:   (适用引擎,为空默认为Unity)
教程语种: 中文
教程等级: 1
教程格式: 图文(请用IE9以上浏览器访问本版块)
教程作者: 转载自互联网 (如有问题请短消息联系作者或发表回复)
下载地址: (兑换积分)
点击查看原图
美丽分割线
本帖最后由 神秘入侵者 于 2012-12-19 15:29 编辑

本节为:【坦克2】发射导弹并绑定灯光及粒子效果   

6.插入摄像机跟踪
Camera->Smooth Follow


8.插入导弹模型并放入cube中
9.编写导弹代码  2个对象 一个发射坐标  一个发射导弹cube的rigidbody

  1. var FirePoint:Transform;
  2. var Bullet:Rigidbody;
  3. var BulletCnt:int;
  4. private var currBullet:int;

  5. function Update () {
  6.     if(FirePoint==null||Bullet==null)
  7.     {
  8.         return;
  9.     }
  10.     if(Input.GetKeyDown(KeyCode.Space))
  11.     {
  12.         var clone:Rigidbody;
  13.         clone=Instantiate(Bullet,FirePoint.transform.position,transform.rotation);
  14.         clone.velocity=transform.TransformDirection(Vector3.forward*50);
  15.     }
  16. }
复制代码
10.绑定后 将粒子 point light绑定到bullet对象中




注意:重复调用的对象要放到Prefabs,如:子弹,墙壁等等

后期子弹数限制及显示子弹数代码:
  1. var FirePoint:Transform;
  2. var Bullet:Rigidbody;
  3. var BulletCnt:int=30;
  4. var BulletSpeed:int=150;
  5. private var currBullet:int;
  6. var myBulletStyle:GUIStyle;

  7. function Start()
  8. {
  9.     currBullet=BulletCnt;
  10. }

  11. function Update () {
  12.     if(FirePoint==null||Bullet==null)
  13.     {
  14.         return;
  15.     }
  16.     if(Input.GetKeyDown(KeyCode.Space))
  17.     {
  18.         if(currBullet>0)
  19.         {
  20.             var clone:Rigidbody;
  21.             clone=Instantiate(Bullet,FirePoint.transform.position,transform.rotation);
  22.             clone.velocity=transform.TransformDirection(Vector3.forward*BulletSpeed);
  23.             currBullet-=1;
  24.         }
  25.         
  26.     }
  27. }

  28. function OnGUI()
  29. {
  30.     GUI.Label(Rect(30,30,60,30),"Bullet:"+currBullet,myBulletStyle);
  31.     GUI.Label(Rect(30,60,60,30),"Level1",myBulletStyle);
  32. }
复制代码

当导弹发生碰撞时,2秒自动销毁对象代码:
  1. function Update () {
  2. }
  3. function OnCollisionStay(collisionInfo : Collision) {
  4.     yield WaitForSeconds(2.0);
  5.     Destroy(this.gameObject);


  6. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1鲜花 +1 收起 理由
1287537617aa + 1

查看全部评分

发表于 2012-12-19 16:53 | 显示全部楼层
谢谢分享  学习学习  
发表于 2013-1-28 10:32 | 显示全部楼层
dddddddddddddddddddddd
发表于 2013-2-24 08:45 | 显示全部楼层
看不懂说的都是些什么。
发表于 2013-6-4 17:32 | 显示全部楼层
太有才了 学习中
发表于 2016-8-11 16:50 | 显示全部楼层

膜拜中。。。。
发表于 2016-8-24 13:11 | 显示全部楼层
lplplplplplplplplplplpl
发表于 2016-8-24 16:12 | 显示全部楼层
刚开始学些啊。谢谢分享。
发表于 2017-1-3 13:17 | 显示全部楼层

不错 不错 不错
发表于 2017-2-15 11:38 | 显示全部楼层
很不错
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-21 21:00 , Processed in 0.306555 second(s), 33 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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