public void moveShip(float elapsedTime) { //Declaramos un vector de movimiento, inicializado en 0. Vector3 movement = new Vector3(0, 0, 0); //El movimiento sobre el ocenao es en los ejes XZ. //Movernos de izquierda a derecha, sobre el eje X. if (input.keyDown(Key.Left)) { movement.Z = 1; movement *= MOVEMENT_SPEED * elapsedTime; ship.Move(movement); ship.RotateY(-0.0001f); ship.Render(); return; } else if (input.keyDown(Key.Right)) { movement.Z = 1; movement *= MOVEMENT_SPEED * elapsedTime; ship.Move(movement); ship.RotateY(0.0001f); ship.Render(); return; } //Movernos para adelante y atrĂ¡s, sobre el eje Z. if (input.keyDown(Key.Up)) { movement.Z = 1; } else if (input.keyDown(Key.Down)) { movement.Z = -1; } else if (input.keyDown(Key.Down) && input.keyDown(Key.Right)) { movement.Z = -1; } //Multiplicar movimiento por velocidad y elapsedTime movement *= MOVEMENT_SPEED * elapsedTime; //Aplicar movimiento ship.Move(movement); //ship.rotateY(0.0001f); }
private void ForceShipTurnLeft() { if (!this.globals.missionComplete) { switch (ship.GetCurrentLaneIndex()) { case 1: /*show bad command signal*/ break; case 2: case 3: { int targetIndex = ship.GetCurrentLaneIndex() - 1; Position2D temp = GetNode("PlayerShipPoints/" + targetIndex.ToString()) as Position2D; ship.Move(temp.Position, targetIndex); break; } } } }