本文整理汇总了C++中CNihilanthHVR::GreenBallInit方法的典型用法代码示例。如果您正苦于以下问题:C++ CNihilanthHVR::GreenBallInit方法的具体用法?C++ CNihilanthHVR::GreenBallInit怎么用?C++ CNihilanthHVR::GreenBallInit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CNihilanthHVR
的用法示例。
在下文中一共展示了CNihilanthHVR::GreenBallInit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DyingThink
//.........这里部分代码省略.........
{
Flight( );
if (fabs( pev->origin.z - m_flMaxZ ) < 16)
{
pev->velocity = Vector( 0, 0, 0 );
FireTargets( m_szDeadUse, this, this, USE_ON, 1.0 );
pev->deadflag = DEAD_DEAD;
}
}
if (m_fSequenceFinished)
{
pev->avelocity.y += RANDOM_FLOAT( -100, 100 );
if (pev->avelocity.y < -100)
pev->avelocity.y = -100;
if (pev->avelocity.y > 100)
pev->avelocity.y = 100;
pev->sequence = LookupSequence( "die1" );
}
if (m_pBall)
{
if (m_pBall->pev->renderamt > 0)
{
m_pBall->pev->renderamt = max( 0, m_pBall->pev->renderamt - 2);
}
else
{
UTIL_Remove( m_pBall );
m_pBall = NULL;
}
}
Vector vecDir, vecSrc, vecAngles;
UTIL_MakeAimVectors( pev->angles );
int iAttachment = RANDOM_LONG( 1, 4 );
do {
vecDir = Vector( RANDOM_FLOAT( -1, 1 ), RANDOM_FLOAT( -1, 1 ), RANDOM_FLOAT( -1, 1 ));
} while (DotProduct( vecDir, vecDir) > 1.0);
switch( RANDOM_LONG( 1, 4 ))
{
case 1: // head
vecDir.z = fabs( vecDir.z ) * 0.5;
vecDir = vecDir + 2 * gpGlobals->v_up;
break;
case 2: // eyes
if (DotProduct( vecDir, gpGlobals->v_forward ) < 0)
vecDir = vecDir * -1;
vecDir = vecDir + 2 * gpGlobals->v_forward;
break;
case 3: // left hand
if (DotProduct( vecDir, gpGlobals->v_right ) > 0)
vecDir = vecDir * -1;
vecDir = vecDir - 2 * gpGlobals->v_right;
break;
case 4: // right hand
if (DotProduct( vecDir, gpGlobals->v_right ) < 0)
vecDir = vecDir * -1;
vecDir = vecDir + 2 * gpGlobals->v_right;
break;
}
GetAttachment( iAttachment - 1, vecSrc, vecAngles );
TraceResult tr;
UTIL_TraceLine( vecSrc, vecSrc + vecDir * 4096, ignore_monsters, ENT(pev), &tr );
MESSAGE_BEGIN( MSG_BROADCAST, SVC_TEMPENTITY );
WRITE_BYTE( TE_BEAMENTPOINT );
WRITE_SHORT( entindex() + 0x1000 * iAttachment );
WRITE_COORD( tr.vecEndPos.x);
WRITE_COORD( tr.vecEndPos.y);
WRITE_COORD( tr.vecEndPos.z);
WRITE_SHORT( g_sModelIndexLaser );
WRITE_BYTE( 0 ); // frame start
WRITE_BYTE( 10 ); // framerate
WRITE_BYTE( 5 ); // life
WRITE_BYTE( 100 ); // width
WRITE_BYTE( 120 ); // noise
WRITE_BYTE( 64 ); // r, g, b
WRITE_BYTE( 128 ); // r, g, b
WRITE_BYTE( 255); // r, g, b
WRITE_BYTE( 255 ); // brightness
WRITE_BYTE( 10 ); // speed
MESSAGE_END();
GetAttachment( 0, vecSrc, vecAngles );
CNihilanthHVR *pEntity = (CNihilanthHVR *)Create( "nihilanth_energy_ball", vecSrc, pev->angles, edict() );
pEntity->pev->velocity = Vector ( RANDOM_FLOAT( -0.7, 0.7 ), RANDOM_FLOAT( -0.7, 0.7 ), 1.0 ) * 600.0;
pEntity->GreenBallInit( );
return;
}