本文整理汇总了C++中CMover::SetPos方法的典型用法代码示例。如果您正苦于以下问题:C++ CMover::SetPos方法的具体用法?C++ CMover::SetPos怎么用?C++ CMover::SetPos使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMover
的用法示例。
在下文中一共展示了CMover::SetPos方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetNPC
void CQuiz::SetNPC()
{
CMover* pMover = (CMover*)CreateObj( D3DDEVICE, OT_MOVER, m_sNPC.dwNPCId );
if( !pMover )
{
Error( "CQuiz::SetNPC() - pMover is NULL - %d, %s", m_sNPC.dwNPCId, m_sNPC.strCharKey.c_str() );
return;
}
lstrcpy( pMover->m_szCharacterKey, m_sNPC.strCharKey.c_str() );
pMover->InitNPCProperty();
pMover->InitCharacter( pMover->GetCharacter() );
pMover->SetPos( m_sNPC.vPos );
pMover->InitMotion( MTI_STAND );
pMover->UpdateLocalMatrix();
pMover->AddItToGlobalId();
m_sNPC.idNpc = pMover->GetId();
CWorld* pWorld = g_WorldMng.GetWorld( WI_WORLD_MADRIGAL );
if( pWorld )
pWorld->ADDOBJ( pMover, FALSE, nDefaultLayer );
}
示例2: if
//.........这里部分代码省略.........
pMover->m_nFuel = (int)pItemProp->dwFFuelReMax; // 빗자루 최대 연료량을 세팅.
// -1일때만 세팅해야지 연료를 반쯤 쓰다가 빗자루를 바꿔도 새로 세팅 되지 않는다.
}
#ifndef __JEFF_9_20
#ifdef __WORLDSERVER
if( pMover->IsPlayer() )
{
((CUser*)pMover)->SetFlyTimeOn();
}
#endif // __WORLDSERVER
#endif // __JEFF_9_20
ClearState();
#ifdef __CLIENT
if( m_pMover == CMover::GetActiveMover() )
{
m_pMover->GetWorld()->SetObjFocus( NULL ); // 비행직전에 기존타겟팅을 클리어해준다.
g_Neuz.m_camera.Unlock();
g_WndMng.m_pWndTaskBar->OnCancelSkill(); // 비행직전엔 스킬바 사용 취소.
}
#endif
CModel* pModel = prj.m_modelMng.LoadModel( D3DDEVICE, OT_ITEM, (DWORD) nParam1 );
#if __VER >= 14 // __WING_ITEM
CModelObject* pModelObject = (CModelObject*)pModel;
if( pModelObject->m_pBone )
{
CString strMotion = pModelObject->GetMotionFileName( _T("stand") );
assert( strMotion != _T("") );
pModelObject->LoadMotion( strMotion );
}
#endif // __WING_ITEM
m_pMover->SetRide( pModel, (DWORD) nParam1 );
break;
}
case OBJMSG_MOTION: // 단순 모션 플레이
{
if( IsSit() ) return 0;
if( IsAction() ) return 0;
if( IsActJump() ) return 0;
if( IsActAttack() ) return 0;
if( IsActDamage() ) return 0;
if( pMover->m_dwFlag & MVRF_NOMOVE ) return 0; // 이동금지 상태면 걍 리턴.
#if __VER >= 10 // __LEGEND // 10차 전승시스템 Neuz, World, Trans
if( pMover->GetAdjParam( DST_CHRSTATE ) & CHS_LOOT) return 0;
#endif //__LEGEND // 10차 전승시스템 Neuz, World, Trans
AddStateFlag( OBJSTAF_ETC ); // 단순 모션 플레이 상태
m_nMotionEx = nParam1; // 모션 인덱스
int nPlayMode = nParam2; // 루핑 모드.
if( m_nMotionEx != -1 )
pMover->SetMotion( m_nMotionEx, nPlayMode, MOP_FIXED/* | MOP_SWDFORCE*/ );
pMover->RemoveInvisible();
}
break;
// 일반 액션.
case OBJMSG_RESURRECTION: // 부활.
ClearState();
SetState( OBJSTA_DMG_ALL, OBJSTA_RESURRECTION );
pMover->SetMotion( MTI_ASS_RESURRECTION, ANILOOP_1PLAY, MOP_FIXED );
break;
#if defined(_DEBUG) && defined(__CLIENT)
case OBJMSG_TEMP:
{
for( int i=0; i < 1; i ++ )
{
CMover* pObj = new CMover;
D3DXVECTOR3 vPos = pMover->GetPos();
pObj->SetPos( vPos );
pObj->SetIndex( g_Neuz.m_pd3dDevice, MI_AIBATT1, TRUE );
pObj->SetMotion( 0 );
g_WorldMng.Get()->AddObj( pObj, TRUE );
}
}
break;
case OBJMSG_TEMP2: // 디버깅용 공격동작만 볼때.
if( CMover::GetActiveMover()->IsAuthHigher( AUTH_GAMEMASTER ) ) // 영자 계정일때
{
CObj *pObj = pMover->GetWorld()->GetObjFocus();
g_DPlay.SendCorrReq( pObj );
g_DPlay.SendError( FE_GENERAL, 0 );
}
break;
case OBJMSG_TEMP3:
{
#ifdef __XUZHU
g_DPlay.SendError( 0, 0 );
#endif
}
break;
#endif // defined(_DEBUG) && defined(__CLIENT)
}
return 1;
}