本文整理汇总了C++中CTFPlayer::LookupBone方法的典型用法代码示例。如果您正苦于以下问题:C++ CTFPlayer::LookupBone方法的具体用法?C++ CTFPlayer::LookupBone怎么用?C++ CTFPlayer::LookupBone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CTFPlayer
的用法示例。
在下文中一共展示了CTFPlayer::LookupBone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FlyThink
void CTFBaseRocket::FlyThink( void )
{
if ( gpGlobals->curtime > m_flCollideWithTeammatesTime && m_bCollideWithTeammates == false )
{
m_bCollideWithTeammates = true;
}
if ( tf2c_homing_rockets.GetBool() || ( tf2c_homing_deflected_rockets.GetBool() && m_iDeflected ) )
{
// Find the closest visible enemy player.
CUtlVector<CTFPlayer *> vecPlayers;
int count = CollectPlayers( &vecPlayers, TEAM_ANY, true );
float flClosest = FLT_MAX;
Vector vecClosestTarget = vec3_origin;
for ( int i = 0; i < count; i++ )
{
CTFPlayer *pPlayer = vecPlayers[i];
if ( pPlayer == GetOwnerEntity() )
continue;
if ( pPlayer->GetTeamNumber() == GetTeamNumber() && !TFGameRules()->IsDeathmatch() )
continue;
Vector vecTarget;
QAngle angTarget;
if ( GetWeaponID() == TF_WEAPON_COMPOUND_BOW )
{
int iBone = pPlayer->LookupBone( "bip_head" );
pPlayer->GetBonePosition( iBone, vecTarget, angTarget );;
}
else
{
vecTarget = pPlayer->EyePosition();
}
if ( FVisible( vecTarget ) )
{
float flDistSqr = ( vecTarget - GetAbsOrigin() ).LengthSqr();
if ( flDistSqr < flClosest )
{
flClosest = flDistSqr;
vecClosestTarget = vecTarget;
}
}
}
// Head towards him.
if ( vecClosestTarget != vec3_origin )
{
Vector vecTarget = vecClosestTarget;
Vector vecDir = vecTarget - GetAbsOrigin();
VectorNormalize( vecDir );
float flSpeed = GetAbsVelocity().Length();
QAngle angForward;
VectorAngles( vecDir, angForward );
SetAbsAngles( angForward );
SetAbsVelocity( vecDir * flSpeed );
}
}
SetNextThink( gpGlobals->curtime + 0.1f );
}