second life代码初研究
second life这种非拘束的 允许客户上传物体从而建立一个庞大的虚拟世界的游戏是很有前途的.这里开始初步分析其代码.其client已经go public
second life 的client 端的通信代码是包装在
llmessage项目里的各个类
然后如果是命令的话
在不同的实际功能的类里包含了不同的 packmessage 与unpackmessage的方法,
要进行同步对象的话则包装了pack 和unpack的方法
其中最重要的人物是通过agent类来进行管理的在 newview项目里的llagent类.
这个是客户自身可以操作的类
// forward declarations
//
class LLAgent : public LLObservable
{
}
从agent的teleportViaLandmark可以知道server是怎么存储和管理不同的
场景的.每个场景都有一个uuid
// Landmark ID = LLUUID::null means teleport home
void LLAgent::teleportViaLandmark(const LLUUID& landmark_id)
{
LLViewerRegion *regionp = getRegion();
if(regionp && teleportCore())
{
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_TeleportLandmarkRequest);
msg->nextBlockFast(_PREHASH_Info);
msg->addUUIDFast(_PREHASH_AgentID, getID());
msg-&
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
