private void MedioBarrelRoll(TgcD3dInput input, float ElapsedTime) { if (input.keyPressed(Key.B) && ESTADO_BARREL.NADA.Equals(estadoBarrel)) { estadoBarrel = ESTADO_BARREL.MEDIO_BARRELROLL; medioBarrelRollTimer = 0; } if (ESTADO_BARREL.MEDIO_BARRELROLL.Equals(estadoBarrel)) { barrelRollAdvance += ElapsedTime * 4; matrizInicialTransformacion = TGCMatrix.RotationYawPitchRoll(0, barrelRollAdvance, 0); if (barrelRollAdvance >= FastMath.PI_HALF) { estadoBarrel = ESTADO_BARREL.ESPERA_MEDIO_BARRELROLL; } } if (ESTADO_BARREL.ESPERA_MEDIO_BARRELROLL.Equals(estadoBarrel)) { medioBarrelRollTimer += ElapsedTime; if (medioBarrelRollTimer >= tiempoPermanenciaMedioBarrelRoll) { estadoBarrel = ESTADO_BARREL.VOLVIENDO_MEDIO_BARRELROLL; } } if (ESTADO_BARREL.VOLVIENDO_MEDIO_BARRELROLL.Equals(estadoBarrel)) { barrelRollAdvance -= ElapsedTime * 4; if (barrelRollAdvance <= 0) { barrelRollAdvance = 0; estadoBarrel = ESTADO_BARREL.NADA; } matrizInicialTransformacion = TGCMatrix.RotationYawPitchRoll(0, barrelRollAdvance, 0); } }
private void BarrelRoll(TgcD3dInput input, float ElapsedTime) { if (input.keyPressed(Key.Space) && ESTADO_BARREL.NADA.Equals(estadoBarrel)) { estadoBarrel = ESTADO_BARREL.BARRELROLL; } if (ESTADO_BARREL.BARRELROLL.Equals(estadoBarrel)) { barrelRollAdvance += ElapsedTime * 4; matrizInicialTransformacion = TGCMatrix.RotationYawPitchRoll(0, barrelRollAdvance, 0); if (barrelRollAdvance >= FastMath.TWO_PI) { barrelRollAdvance = 0; estadoBarrel = ESTADO_BARREL.NADA; } } }