当前位置: 首页>>代码示例>>C++>>正文


C++ vec2f::SafeNormalized方法代码示例

本文整理汇总了C++中vec2f::SafeNormalized方法的典型用法代码示例。如果您正苦于以下问题:C++ vec2f::SafeNormalized方法的具体用法?C++ vec2f::SafeNormalized怎么用?C++ vec2f::SafeNormalized使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vec2f的用法示例。


在下文中一共展示了vec2f::SafeNormalized方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: PlayerCollision

 void BacteroidsState::PlayerCollision(Player *me, GameObject *obj, const vec2f &objToMe, float dist)
 {
     if (obj->GetType() == Bacter::TYPE)
     {
         vec2f v = objToMe.SafeNormalized() * dist/8.0f;
         vec2f p = me->GetPosition();
         me->AddVelocity(v);
         me->SetPosition(p + (v / 2.0f));
         me->TakeHit(m_soundPlayer);
         m_damageFade.Activate(1.0f);
         if (me->IsDead())
         {
             m_damageFade.SetFadeAcceleration(0.0f);
             m_damageFade.Activate(1.0f);
             m_soundPlayer.PlayPlayerDeathSound(p.x, p.y);
         }
     }
 }
开发者ID:duudel,项目名称:bacteroids,代码行数:18,代码来源:BacteroidsState.cpp

示例2: BacterCollision

 void BacteroidsState::BacterCollision(Bacter *me, GameObject *obj, const vec2f &objToMe, float dist)
 {
     if (obj->GetType() == Bacter::TYPE || obj->GetType() == Player::TYPE)
     {
         vec2f v = objToMe.SafeNormalized() * dist/8.0f;
         vec2f p = me->GetPosition();
         me->AddVelocity(v);
         me->SetPosition(p + (v / 2.0f));
         float r = me->GetRadius() + obj->GetRadius();
         me->ModifySize(1.0f + dist / r);
     }
     else if (obj->GetType() == Projectile::TYPE)
     {
         if (me->CanSplit())
         {
             m_score += me->GetPoints();
             m_kills++;
             me->AddVelocity(obj->GetVelocity() * 0.5f);
             SplitBacter(me);
         }
     }
 }
开发者ID:duudel,项目名称:bacteroids,代码行数:22,代码来源:BacteroidsState.cpp


注:本文中的vec2f::SafeNormalized方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。