您的位置:首页 > 其它

第二人生的源码分析(二十)显示人物名称

2008-01-24 23:17 375 查看
在第二人生里,每个人物显示都有一个名称,那么这个名称又是怎么样显示出来的呢?怎么样实现的呢?带着这两个问题,下面就去分析第二人生里面的实现代码。它的人物名称显示如下:



[align=center]蔡军生 2008/01/24 QQ:9073204 深圳[/align]
从上面的图片上,可以看到人物的头上有一个名称显示,用来标识人物角色。要显示这个人物名称,肯定是在二维的空间里显示的。每个人都有一个名称显示,很多人在一起时,就需要显示多名称。因此,在第二人生里把名称的显示和角色的显示是分离的。调用下面的代码来显示名称:
1、LLPipeline::renderGeom()
2、render_hud_elements()
3、LLHUDObject::renderAll()

这个函数的代码如下:
#001 void LLHUDObject::renderAll()
#002 {
#003 LLHUDObject *hud_objp;
#004
#005 hud_object_list_t::iterator object_it;
#006 for (object_it = sHUDObjects.begin(); object_it != sHUDObjects.end(); )
#007 {
#008 hud_object_list_t::iterator cur_it = object_it++;
#009 hud_objp = (*cur_it);
#010 if (hud_objp->getNumRefs() == 1)
#011 {
#012 sHUDObjects.erase(cur_it);
#013 }
#014 else if (hud_objp->isVisible())
#015 {
#016 hud_objp->render();
#017 }
#018 }
#019 }
在第16行里显示人物的名称。
由于在这个类里会先调用LLHUDObject::addHUDObject()函数添加人物名称显示对象LLHUDText,这样在渲染时就会把名称显示出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: