Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 游戏天堂 > 游戏开发 > 2006-04-18炸弹人开发日志
【标  题】:2006-04-18炸弹人开发日志
【关键字】:2006-04-18
【来  源】:http://blog.csdn.net/Meuck/archive/2006/04/18/667115.aspx

2006-04-18炸弹人开发日志

Your Ad Here

2006-04-17

由于之前碰到一个问题一直没有静下心来思考如何解决,这次赶在冲凉之前决定好了。

 

问题就是如何解决对象删除的问题。

1>     我有一个存放对象的地方,其ID与对象进行了关联

2>     我把游戏操作方法作了几个分类.有专门处理显视次序的数组(有序)、有专门存放炸弹的数组(有序)、有专门存放背景的数组(有序)、有专门存放玩家的数组(有序)

 

而当一个对象被删除的时候要同时把上面相关的联系都给切断。

1.       最直观的解决方案就是在对象的析构函数中触发一次事件(类似于函数指针啦)

2.       还有一种就是由管理器进行对象删除的方式,当决定某个对象死亡的时候,标记它为死亡。在排序的时候,死亡列为最高指标,其它则以XY做为排序关键字。最终标记为死亡的对象就会自动走到排序队列的最前面。删除的时候只需要做线性删除即可。

 

现决定使用第二种方式删除游戏对象,使得WORLD中的定义就好象这样:

Map<int, CGameObject *> m_gameObjs;          //游戏对象

Vector<CGameObject *>  m_showObjs;          //游戏显视队列

Vector<CGameObject *>  m_bgObjs;            //背景

Vector<CGameObject *>  m_collisionObjs;       //碰撞物体

Vector<CGameObject *>  m_playerObjs;         //玩家

List  <int>             m_deleteObjID;        //本次删除对象的ID列表
2006-04-19炸弹人开发日志:【上一篇】
Game Programming with DirectX -- 03[谁把我挡住了]:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • Linux中软件安装及技巧
  • 创建基本实体造型
  • 经典实用技术详解-VPN(一)
  • Illustrator 黑白箭头完全剖析(2)
  • 新东方笑话集锦
  • [shell][最简单的] 写个bash游戏
  • emu的Ajax联机游戏终于可以发布到公网了
  • Java的自动转换
  • communication between different private LAN
  • 谁能编译出更小的exe 呵呵! 挑战哦 (转贴)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.