云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 卢杰-基于Unity3D的坦克大战游戏的设计与实现 - 图文

卢杰-基于Unity3D的坦克大战游戏的设计与实现 - 图文

  • 62 次阅读
  • 3 次下载
  • 2026/1/9 7:43:17

卢杰:基于Unity3D的坦克大战游戏的设计与实现

return; }

enemyHp -= atk;

hp_Image.fillAmount -= atk / ENEMYHP; if (enemyHp <= 0) {

Instantiate(m_TankExplosion, transform.position + transform.up, Quaternion.identity); m_Canvas.SetActive(false); Destroy(gameObject);

GameManager._instance.scoreNum++; GameManager._instance.ScoreAdd(); }

}

4.5 炮弹的碰撞检测

4.5.1 炮弹的身份

给炮弹定义一个叫做身份的枚举,里面有玩家和敌人,当玩家攻击实例化子弹的时候就将实例化生成的子弹的身份设置为玩家,当敌人攻击实例化子弹的时候就将实例化生成的子弹的身份设置为敌人。枚举代码如下:

public enum ShellIdentity {

PLAYER, ENEMY,

}

4.5.1 碰撞检测 (1)实现思路

碰撞的检测使用Unity3D内置的API方法,是OnTriggerEnter,功能是当碰撞的那一瞬间触发一次该方法,而碰撞的必要条件是,碰撞的双方都有碰撞体,双方至少一方有刚体,才会触发碰撞。当子弹碰撞到对象时,销毁自己,然后在炮弹的位置生成炮弹爆炸特效,然后会验证碰撞体身份,如果子弹的身份与碰撞体的身份不一致的话即调用碰撞体的受伤方法。 (2)代码

private void OnTriggerEnter(Collider other) {

if (other.tag == transform.tag)

18

卢杰:基于Unity3D的坦克大战游戏的设计与实现

{

return; }

if (other.tag == \ && identity != other.GetComponent().enemyIdentity) {

other.GetComponent().EnemyBruise(shellAttack); }

else if (other.tag == \ && identity !=

other.GetComponent().playerIdentity)

{

other.GetComponent().PlayerBruise(shellAttack); }

else if (other.tag == \ && identity == ShellIdentity.ENEMY) {

GameManager._instance.MapBruise(shellAttack); }

Instantiate(m_ShellExplosion, transform.position, Quaternion.identity); Destroy(gameObject);

}

19

卢杰:基于Unity3D的坦克大战游戏的设计与实现

第5章 系统测试

5.1 在Unity3D中运行测试

点击软件中的运行按钮,如图5.1所示。

图5.1 运行按钮

游戏在软件中测试运行,如图5.2所示。

图5.2 Unity3D中运行

游戏能够正常运行,没有报错,测试成功。

5.2 在PC中运行测试

点击File选择Build Settings出现打包菜单,如图5.3所示。

20

卢杰:基于Unity3D的坦克大战游戏的设计与实现

图5.3 打包选项

结合游戏之前的几个场景,就可以打包成一个完整的游戏了,先将其打包为PC游戏进行测试。

运行结果如图5.4所示。

21

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

卢杰:基于Unity3D的坦克大战游戏的设计与实现 return; } enemyHp -= atk; hp_Image.fillAmount -= atk / ENEMYHP; if (enemyHp <= 0) { Instantiate(m_TankExplosion, transform.position + transform.up, Quaternion.identity); m_Canvas.SetActive(false); Destroy(gameObject); GameMana

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com