|
GUID是什么, Global Unqiue Identity Code(全局唯一标识号)
就是一个唯一的ID,每次生成都不一样,不会有重复。
生活中很多东西都是GUID,最常见的就是冲值卡密码。在这里我不说那么远,最近在使用OGRE中,由于OGRE是图形引擎,我需要封装一创建一个层供游戏逻辑客户端使用,但客户端经常会给我封装的显示层发这样一客户端版本低怎样升级条指创建一个新样式令。"在X,Y,Z处创建一个光效",其实对应的在OGRE中创建的就是一个粒子效都是月亮惹的祸果名字。看上去很简单的, 但都是实际上开始写的时候, 还真头疼了一番。
OGRE有个特性很讨厌, 每创建一个东西出来,都要起个名字。
但同类的东西的名字也不能相同(因为他都是MAP管理的)
但客户端发的请求只是在X,Y,Z处创建,没有提供什么名字。
所以我得在自己的模块里面自程序员那么可爱己创建一个名字,而且有不能相同,这就需要GUID了。
开始想用随机数, 但是这样肯定有重复的可能性,所以就有可能创建失败。
最后终于想到了一个办法可以完美解决这个起名字的问名字大全题。使用地址做为名字。
在WorldEffectPlacer这个类中,客户端下载安装维护一个结构的表,此结构如下:
struct WEffectProp
{
Uint32 pNamePointer;
Particle p;
};
如果我要创建一个particle的话程序员, 可以这样。
WEffectProp wep;
wep.pNamePointer = new Uint32;
wep.pNamePointer = 0;
Ogre::String uniqueNam名字配对e = Ogre::StringConvert::toString(Uint32(wep.程序员那么可爱电视剧pNamePointer));
wep.p = Partic客户端是什么意思啊leManager::getSingleton()。creat客户端e(uniqueName, ……);
这样每次起名字就唯一了,但一定要注意哦。客户端是什么意思啊
|
|