首页 > 代码库 > NPC AI驱动最基本过程

NPC AI驱动最基本过程

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,所以这个做的事情是相当多的,每次压测这个压力是很大的