本文整理汇总了C++中CMover::IsRangeObj方法的典型用法代码示例。如果您正苦于以下问题:C++ CMover::IsRangeObj方法的具体用法?C++ CMover::IsRangeObj怎么用?C++ CMover::IsRangeObj使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMover
的用法示例。
在下文中一共展示了CMover::IsRangeObj方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
//.........这里部分代码省略.........
pWorld->SetObjFocus( pSelectMover ); // 이놈을 타겟으로 설정함.
pMover->m_idTracking = pSelectMover->GetId(); // 탭으로 타겟을 바꾸면 자동추적타겟도 그놈으로 바뀐다.
}
}
}
}
s_bSelectKeyed = g_bKeyTable[VK_TAB];
}
if( /*m_bFlyMove &&*/ m_bLButtonDown || g_bKeyTable[VK_INSERT] ) // 192 = `
{
CObj *pObj = pMover->GetWorld()->GetObjFocus(); // 타겟잡힌놈이 있을때만 휘두를수 있다.
if( pObj && pObj->GetType() == OT_MOVER )
{
if( pMover->IsAttackAble( pObj ) ) // 공격 가능한지 검사.
{
OBJID idTarget = ((CMover *)pObj)->GetId();
ItemProp *pWeapon = pMover->GetActiveHandItemProp();
if( pWeapon )
{
g_pPlayer->PlayCombatMusic();
if( pWeapon->dwItemKind3 == IK3_WAND )
{
D3DXVECTOR3 vFront, vTarget;
AngleToVector( &vFront, g_pPlayer->GetAngle(), -g_pPlayer->GetAngleX(), 1.0f );
vTarget = pObj->GetPos() - g_pPlayer->GetPos();
D3DXVec3Normalize( &vTarget, &vTarget ); // 타겟쪽으로의 벡터의 유닛벡터.
FLOAT fDot = D3DXVec3Dot( &vFront, &vTarget );
if( fDot >= cosf(D3DXToRadian(60.0f)) ) // 타겟이 내가 보는 방향의 +-30도 안에 있으면 발사할수 있다.
{
if( pMover->IsRangeObj( pObj, 64.0f ) ) // 사정거리에 들어오면 발사.
{
pMover->DoAttackMagic( pObj, 0 );
}
}
}
else
{
pMover->SendActMsg( OBJMSG_ATK1, idTarget );
}
}
}
}
}
// fTurnAngle = 0.6f;
ItemProp* pItemProp = prj.GetItemProp( g_pPlayer->GetRideItemIdx() );
if( pItemProp )
{
fTurnAngle = pItemProp->fFlightLRAngle;
}
else
{
Error( "ControlFlying : 빗자루정보 읽기 실패 %d", g_pPlayer->GetRideItemIdx() );
fTurnAngle = 0.6f;
}
if( bUp ) {
if( g_WorldMng.Get()->GetFullHeight( pMover->GetPos() ) < pMover->GetPos().y ) {
if( pMover->SendActMsg( OBJMSG_LOOKDOWN ) == 1 ) {
fMoved = true;
}
}