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


C++ Vector2D::Angle方法代码示例

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


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

示例1: GetTangentialForceOfGravity

	Vector2D Surface::GetTangentialForceOfGravity( Vector2D velocity, float mass )
	{
		if( _surfaceEdge._point1._x == _surfaceEdge._point2._x )
		{
			/* Surface is vertical, tangential force of acceleration is just gravity */
			return Vector2D( 0, ACCELERATION_OF_GRAVITY );
		}
		else if( _surfaceEdge._point1._y == _surfaceEdge._point2._y )
		{
			/* Surface is horizontal, need to determine whether we hit the top or bottom using angle of velocity */
			if( velocity.Angle() >= 0 && velocity.Angle() <= 180 )
			{
				/* Hit bottom of surface bottom */
				return Vector2D( 0, ACCELERATION_OF_GRAVITY );
			}
			else
			{
				/* Hit top of surface */
				return Vector2D();
			}
		}
		else
		{
			/* Surface is skewed */
			return Vector2D();
		}
	}
开发者ID:Jerorfigan,项目名称:Stick-Figure,代码行数:27,代码来源:Surface.cpp

示例2: Shoot

void Ship::Shoot(const Vector2D &direction,
                 const Resource_Projectile_t &projectile, Vector2D offset)
{
    Projectile *p = (Projectile*)GetGameContext()->CreateEntityNoSpawn("projectile");

    Q_ASSERT(p != nullptr);

    float volume = IsPlayer() ? 0.5f : 0.3f;

    offset.Rotate(GetAngle());

    p->SetOwner(this);
    p->Teleport(GetOrigin() + offset);
    p->SetAngle(direction.Angle());
    p->Init(projectile, IsPlayer());
    p->Launch(direction, volume);

    if (projectile.fire_rate > 0.0f)
        shootDelay = GetGameContext()->GetGameTime() + 1.0f / projectile.fire_rate;

    GetGameContext()->SpawnEntity(p);
}
开发者ID:Biohazard90,项目名称:Project-Neo-Gemini,代码行数:22,代码来源:ship.cpp


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