zoukankan      html  css  js  c++  java
  • 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,所以这个做的事情是相当多的,每次压测这个压力是很大的
  • 相关阅读:
    网络资源(4)
    网络资源(3)
    网络资源(2)
    网络资源(1)
    OCP读书笔记(27)
    OCP读书笔记(26)
    OCP读书笔记(25)
    OCP读书笔记(24)
    OCP读书笔记(23)
    OCP读书笔记(22)
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/3923646.html
Copyright © 2011-2022 走看看