Ejemplo n.º 1
0
void Mob::velocityRight(const float dt) {
    const double rot = Math::toRads(m_sprite.getRotation() + 90);

    changeVelocity({0, (m_walkSpeed * (float) sin(rot)) * dt});
    changeVelocity({(m_walkSpeed * (float) cos(rot)) * dt, 0});

    m_isMoving = true;
}
Ejemplo n.º 2
0
bool EnemyShip::Update(const float& dt, bool& warp, ParticleSystem& Psystem, BulletSystem& Bsystem, Spaceship* target)
{
	changeTarget(target);
	turret.update(dt, shipPosition, Bsystem, (rand.RandomFloat() > 0.8));
	outofBoundsCheck(Psystem, warp);
	changeVelocity(dt, Psystem);
	shipPosition = shipPosition + velocity;
	return (life > 0);
}
Ejemplo n.º 3
0
bool EnemyShip::Update(const float& dt, bool& warp, ParticleSystem& Psystem, BulletSystem& Bsystem, Spaceship* target, Walls& walls)
{
	changeTarget(target);
	turret.update(dt, shipPosition, Bsystem, (rand.RandomFloat() < 0.1));
	outofBoundsCheck(Psystem, warp);
	changeVelocity(dt, Psystem);

	Vector2 collision = walls.getCollisionVelocity(shipPosition, velocity);

	if (Engine::LengthSquared(collision) != 0)
	{
		Psystem.AddParticle(new COLLISIONPARTICLE);
	}

	velocity = velocity + collision;
	shipPosition = shipPosition + velocity;
	return (life > 0);
}