码迷,mamicode.com
首页 > 其他好文 > 详细

NPC AI驱动最基本过程

时间:2014-08-20 02:29:45      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   for   2014   cti   

bubuko.com,布布扣

NPC AI驱动最基本过程
NPCmgr中比较重要的是加载NPC和一个NPCAI的一个指针
他利用map那个线程的定时到底做了啥呢
void NPCmgr::npcAITimer()
{

    time_t tb = GetTickCount();
    m_spNpcAI->run();//[...]测试
    time_t te = GetTickCount() - tb;

}

void NpcAI::run()
{
    //毫秒级随机数(不能放循环里)
    srand(GetTickCount());
    for(auto it : m_map->m_map_objs)
    {    
        //时间控制
        if(!it.second->isRunAI())
            continue;

        //被动行为
        if(it.second->passivity())
            continue;

        //状态控制
        if(!it.second->action())
            continue;

        //执行动作
        it.second->execute();
    }
}
主要就是做了run这个动作,这是整个地图上所有NPC,所以这个做的事情是相当多的,每次压测这个压力是很大的

 

NPC AI驱动最基本过程,布布扣,bubuko.com

NPC AI驱动最基本过程

标签:style   blog   http   color   io   for   2014   cti   

原文地址:http://www.cnblogs.com/zzyoucan/p/3923646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!