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


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

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


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

示例1: OnUpdate

void GameState::OnUpdate(float time_diff) {
    if(IsActive()) {
        Vector2D speed = mSubmarine->GetAbsoluteSpeed();
        speed.Rotate(mSubmarine->GetAbsoluteRotation());
        float x = 3.f; // move view to where we'll be in x seconds
        Vector2D target = Vector2D(Input::GetInstance().GetDefaultWindow().GetWidth() / 2, Input::GetInstance().GetDefaultWindow().GetHeight() / 2) - mSubmarine->Position - speed * x;
        Vector2D diff = target - mScene->Position;
        mScene->Move(diff * time_diff);

        mScene->Update(time_diff);
    }
}
开发者ID:opatut,项目名称:NoisyHunter2,代码行数:12,代码来源:GameState.cpp

示例2: Spawn

void ComponentEnemy::Spawn(const Point2D& worldPosition)
{
	std::shared_ptr<ComponentTransform2D> enemyTransformComponent = m_TransformComponent.lock();
	if (enemyTransformComponent != nullptr)
	{
		enemyTransformComponent->SetWorldPosition(worldPosition);
		enemyTransformComponent->UpdateWorldTransform();
	}

	std::shared_ptr<ComponentRigidBody> enemyRigidBodyComponent = m_RigidBodyComponent.lock();
	if (enemyRigidBodyComponent != nullptr)
	{
		Vector2D direction = Transform2D::k_UpDefault;
		direction.Rotate((float)(rand() % 360));
		enemyRigidBodyComponent->SetVelocity(direction * m_Speed);
	}
}
开发者ID:joisbp22,项目名称:DemoProject,代码行数:17,代码来源:ComponentEnemy.cpp

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