程序中的BUG是如何生成的

自助开通VIP,整站资源任意下载

GUID是什么, Global Unqiue Identity Code(全局唯一标识号)

  就是一个唯一的ID,每次生成都不一样,不会有重复。

  生活中很多东西都是GUID,最常见的就是冲值卡密码。在这里我不说那么远,最近在使用OGRE中,由于OGRE是图形引擎,我需要封装一层供游戏逻辑客户端使用,但客户端经常会给我封装的显示层发这样一条指令。"在X,Y,Z处创建一个光效",其实对应的在OGRE中创建的就是一个粒子效果。看上去很简单的, 但实际上开始写的时候, 还真头疼了一番。

  OGRE有个特性很讨厌, 每创建一个东西出来,都要起个名字。

  但同类的东西的名字也不能相同(因为他都是MAP管理的)

  但客户端发的请求只是在X,Y,Z处创建,没有提供什么名字。

  所以我得在自己的模块里面自己创建一个名字,而且有不能相同,这就需要GUID了。

程序中的BUG是如何生成的 UI 客户端 游戏 棋牌技术  第1张

  开始想用随机数, 但是这样肯定有重复的可能性,所以就有可能创建失败。

  最后终于想到了一个办法可以完美解决这个起名字的问题。使用地址做为名字。

  在WorldEffectPlacer这个类中,维护一个结构的表,此结构如下:

  struct WEffectProp

  {

程序中的BUG是如何生成的 UI 客户端 游戏 棋牌技术  第2张

  Uint32 pNamePointer;

  Particle p;

  };

  如果我要创建一个particle的话, 可以这样。

  WEffectProp wep;

  wep.pNamePointer = new Uint32;

  wep.pNamePointer = 0;

  Ogre::String uniqueName = Ogre::StringConvert::toString(Uint32(wep.pNamePointer));

  wep.p = ParticleManager::getSingleton()。create(uniqueName, ……);

  这样每次起名字就唯一了,但一定要注意哦。

① 本网站名称及网址:速群资源分享网 | www.suqun.net
② 本网站资源来源于网络收集,如有侵权,请联系站长进行删除处理。
③ 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。
④ 如果你也有好源码或者教程,可以联系小编,有钻石奖励和额外收入。
⑤ 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解。
⑥ 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
⑦ 本站资源大多存储在云盘,如发现链接失效,请联系客服,我们会第一时间更新。
速群棋牌源码网 » 程序中的BUG是如何生成的

VIP会员尊享专属特权,真正的海量,无套路,无限量下载!

游戏演示 联系客服