本文整理汇总了C++中CMonster::Update方法的典型用法代码示例。如果您正苦于以下问题:C++ CMonster::Update方法的具体用法?C++ CMonster::Update怎么用?C++ CMonster::Update使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMonster
的用法示例。
在下文中一共展示了CMonster::Update方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _tmain
int _tmain(int argc, _TCHAR* argv[])
{
// 注册错误回调函数
FKAISystem::RegisterErrorMsgReceiver( OutPut );
// 初始化状态机表
FKAISystem::SetStateFilesDirectory( "Bin/Data/AIScript" );
CMonster* pMonster = new CMonster();
pMonster->Init("状态机表名称");
for( ;; )
{
// 获取帧间隔时间
static float lastTime = 0;
lastTime = g_fAccumTime;
g_fAccumTime = (float)timeGetTime() / 1000.0f;
g_fTimeFromLastFrame = g_fAccumTime - lastTime;
//最低帧数控制
if (g_fTimeFromLastFrame>0.2f)
g_fTimeFromLastFrame = 0.2f;
// 每帧间隔CPU休眠时间
if(g_dwSleepTime > 0) Sleep(g_dwSleepTime);
pMonster->Update( g_fTimeFromLastFrame );
}
pMonster->Destory();
return 0;
}
示例2: Render
void CGameProc::Render(float fElapsedTime)
{
int nCnt;
if(m_pD3DDevice == NULL)
{
return;
}
g_pPlayer->Update(fElapsedTime);
m_xSkillWnd.Update(fElapsedTime);
m_xMonsterList.MoveCurrentToTop();
for (nCnt=0;nCnt<m_xMonsterList.GetCounter();nCnt++)
{
CMonster *pMonster;
pMonster=m_xMonsterList.GetCurrentData();
pMonster->Update(fElapsedTime);
m_xMonsterList.MoveNextNode();
}
m_pWater->Update(fElapsedTime);
if (g_pPlayer->m_pTargetInfo)
m_pRoleInfo->Update(&g_pPlayer->m_xPlayInfo,g_pPlayer->m_pTargetInfo,true);
else
m_pRoleInfo->Update(&g_pPlayer->m_xPlayInfo,g_pPlayer->m_pTargetInfo,false);
//Clear the back buffer and depth buffer
m_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, NULL, 1.0f, 0);
m_pD3DDevice->BeginScene();
g_pCamera->Setup3DCamera();
g_pPlayer->Render();
float i;
m_xMonsterList.MoveCurrentToTop();
for (nCnt=0;nCnt<m_xMonsterList.GetCounter();nCnt++)
{
CMonster *pMonster;
pMonster=m_xMonsterList.GetCurrentData();
if (nCnt==2)
{
pMonster->m_pMonsterMesh->SetPosition(D3DXVECTOR3(pMonster->m_xMonsterInfo.x,m_pTerrain->getHeight(pMonster->m_xMonsterInfo.x,pMonster->m_xMonsterInfo.z),pMonster->m_xMonsterInfo.z));
i=pMonster->m_fAngel;
}
pMonster->Render();
m_xMonsterList.MoveNextNode();
}
D3DXVECTOR3 playerPos;
g_pPlayer->GetPos(&playerPos);
m_pSkyBox->Render(playerPos);
D3DXMATRIX matViewProj;
g_pCamera->GetViewProj(&matViewProj);
m_pTerrain->Render(&matViewProj,false);
// 绘制透明物体
m_pWater->Render();
g_pCamera->Setup2DCamera();
g_pChatPopWnd->Render();
m_xSkillWnd.Render();
m_pRoleInfo->Render();
char buf[255];
if (g_pPlayer->m_pPlayerMesh->m_bHightlight)
{
g_pFont->DrawText("打开深度光照",0,0,D3DCOLOR_XRGB(255,255,0));
}
D3DXVECTOR3 vPos;
g_pCamera->GetCameraPos(&vPos);
sprintf(buf,"坐标%f %f %f\n 摄像机位置 %f %f %f \n 鼠标坐标%d,%d \n%d %d\n%f",playerPos.x,playerPos.z,fElapsedTime,vPos.x,vPos.y,vPos.z,m_pt.x,m_pt.y
,g_pChatPopWnd->m_nTaskState,g_pChatPopWnd->m_nPageIndex,i/D3DX_PI);
g_pFont->DrawText(buf,0,512,D3DCOLOR_XRGB(0,0,0));
if (g_szBuf!=NULL&&m_xSkillWnd.m_xLock.bLock)
{
g_pFont->DrawText(g_szBuf,456,150,D3DCOLOR_XRGB(0,0,0));
}
m_pD3DDevice->EndScene();
//Filp the back and front buffers so that whatever has been rendered on the back buffer
//will now be visible on screen (front buffer).
m_pD3DDevice->Present(NULL, NULL, NULL, NULL);
}