2.8.1 创建敌人
来源:互联网 发布:济南行知小学是公立 编辑:程序博客网 时间:2024/04/28 13:09
http://book.2cto.com/201410/47220.html
只是一种敌人太单调了,我们将再添加一种新的敌人,它将继承原有敌人的大部分功能,同时又增加一些新的功能。
在Project窗口找到Enemy2.fbx模型文件,为其创建Prefab。
可以在Project窗口直接将FBX模型拖动到空的Prefab文件上创建敌人的Prefab。
打开Enemy.cs脚本,将protected void UpdateMove()改为protected virtual void UpdateMove(),这里添加了一个virtual,使其成为一个虚方法,这样我们可以在派生类中重写这个方法。
创建SuperEnemy.cs脚本,使它的类继承Enemy,并重写UpdateMove方法,新敌人的移动只是简单的缓缓向前,如下所示:using UnityEngine;using System.Collections; [AddComponentMenu("MyGame/SuperEnemy")]public class SuperEnemy : Enemy { protected override void UpdateMove() { // 前进 m_transform.Translate( new Vector3( 0, 0, -m_speed * Time.deltaTime ) ); }} 在SuperEnemy这个类中,只有UpdateMove()一个方法,这个方法前面使用了override标识符,表示这是一个重写的方法。虽然SuperEnemy这个类没有其他东西,但它继承了Enemy类的其他全部功能。
选择新敌人的prefab,将SuperEnemy脚本指定给它作为组件。
在Inspector窗口设置新敌人的SuperEnemy组件,增加生命至50。
为新敌人的prefab添加Rigidbody和Box Collider组件,并参考原有敌人的设置进行设置。因为这个新敌人的模型比较大,用立方体碰撞体会显得很不精确,我们可以将碰撞体缩小一些,如图2-28所示。如果我们希望使用精度较高的碰撞体,最好在3D软件中将其建模出来,然后将其设为Mesh碰撞体。
将新敌人的Tag设为Enemy。
0 0
- 2.8.1 创建敌人
- 创建敌人基类
- 敌人
- 2.5.3 创建子弹;2.5.4创建子弹Prefab;2.5.5发射子弹;2.6 创建敌人;2.7.1 添加碰撞体
- Unity3D--创建敌人和玩家之间的AI
- 【Untiy&项目分享&项目讲解】UnitZ的敌人生成系统 1 敌人孵化器
- Flash游戏开发系列一:游戏中的敌人(1)
- 敌人选择
- 4.7敌人
- 敌人跟随
- 消灭敌人
- 敌人死亡
- 时间敌人
- js + php 处理 永远的敌人 特殊符号 1 在网页上的显示问题
- 【Unity3D】学习笔记(第1记) 敌人AI之Seek(靠近)
- 行为树-学习笔记(2)-rain插件做简单的敌人AI(1)
- 主角连击敌人处理:连击次数的显示(图片数字字体)---1
- 【Java_项目篇<1>】--JAVA实现坦克大战游戏--赋予敌人行动和攻击(五)
- VS2013各版本激活密钥
- Java 读取文件
- 构造函数为什么不能是虚函数?
- Java - 继承
- python基础学习笔记<内建模块与第三方模块>
- 2.8.1 创建敌人
- 黑马程序员——多态
- Quartz2D - 08.图片擦除效果
- 为人篇
- .NET技术大系概览
- Android中不同方向嵌套滑动的解决方案(ListView为例子)
- Web UI设计师的CSS优化工具 25+
- Oracle初探(七)
- 【前端学习笔记】原生Javascript中的ajax