use better spinnerdelay
This commit is contained in:
parent
b3899fb3e5
commit
5c2fc16124
|
@ -633,10 +633,10 @@ public class Options {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
DANCE_SPINNER_DELAY ("Spinner delay", "SpinnerDelay", "Fiddle with this if spinner goes too fast. Some spinners don't use delays.", Spinner.DELAY, 0, 20) {
|
DANCE_SPINNER_DELAY ("Spinner delay", "SpinnerDelay", "Fiddle with this if spinner goes too fast.", Spinner.DELAY, 0, 20) {
|
||||||
@Override
|
@Override
|
||||||
public String getValueString() {
|
public String getValueString() {
|
||||||
return String.format("%d frames", val);
|
return String.format("%dms", val);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -637,6 +637,7 @@ public class Game extends BasicGameState {
|
||||||
throws SlickException {
|
throws SlickException {
|
||||||
UI.update(delta);
|
UI.update(delta);
|
||||||
Pippi.update(delta);
|
Pippi.update(delta);
|
||||||
|
yugecin.opsudance.spinners.Spinner.update(delta);
|
||||||
int mouseX = input.getMouseX(), mouseY = input.getMouseY();
|
int mouseX = input.getMouseX(), mouseY = input.getMouseY();
|
||||||
skipButton.hoverUpdate(delta, mouseX, mouseY);
|
skipButton.hoverUpdate(delta, mouseX, mouseY);
|
||||||
if (isReplay || GameMod.AUTO.isActive())
|
if (isReplay || GameMod.AUTO.isActive())
|
||||||
|
|
|
@ -36,6 +36,10 @@ public class BeamSpinner extends Spinner {
|
||||||
@Override
|
@Override
|
||||||
public double[] getPoint()
|
public double[] getPoint()
|
||||||
{
|
{
|
||||||
|
if (!waitForDelay()) {
|
||||||
|
return point;
|
||||||
|
}
|
||||||
|
|
||||||
index = ++index % 4;
|
index = ++index % 4;
|
||||||
final int MOD = 60;
|
final int MOD = 60;
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,9 @@ public class CircleSpinner extends Spinner {
|
||||||
@Override
|
@Override
|
||||||
public double[] getPoint()
|
public double[] getPoint()
|
||||||
{
|
{
|
||||||
|
if (waitForDelay()) {
|
||||||
ang += 15;
|
ang += 15;
|
||||||
|
}
|
||||||
|
|
||||||
double rad = Options.width / 4.0f;
|
double rad = Options.width / 4.0f;
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ public class CubeSpinner extends Spinner {
|
||||||
@Override
|
@Override
|
||||||
public double[] getPoint()
|
public double[] getPoint()
|
||||||
{
|
{
|
||||||
if( ++index >= 16 )
|
if(waitForDelay() && ++index >= 16 )
|
||||||
{
|
{
|
||||||
index = 0;
|
index = 0;
|
||||||
azimuth += 2.0d;
|
azimuth += 2.0d;
|
||||||
|
|
|
@ -34,7 +34,9 @@ public class DonutSpinner extends Spinner {
|
||||||
@Override
|
@Override
|
||||||
public double[] getPoint()
|
public double[] getPoint()
|
||||||
{
|
{
|
||||||
|
if (waitForDelay()) {
|
||||||
ang += 15;
|
ang += 15;
|
||||||
|
}
|
||||||
|
|
||||||
double rad = Options.width / 4.0f;
|
double rad = Options.width / 4.0f;
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,9 @@ public class HalfCircleSpinner extends Spinner {
|
||||||
@Override
|
@Override
|
||||||
public double[] getPoint()
|
public double[] getPoint()
|
||||||
{
|
{
|
||||||
|
if (waitForDelay()) {
|
||||||
ang += 15;
|
ang += 15;
|
||||||
|
}
|
||||||
|
|
||||||
if( ang > skipang - 160 )
|
if( ang > skipang - 160 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -32,7 +32,9 @@ public class LessThanThreeSpinner extends Spinner {
|
||||||
@Override
|
@Override
|
||||||
public double[] getPoint()
|
public double[] getPoint()
|
||||||
{
|
{
|
||||||
|
if (waitForDelay()) {
|
||||||
angle += 18;
|
angle += 18;
|
||||||
|
}
|
||||||
if( angle > 360 ) angle = 0;
|
if( angle > 360 ) angle = 0;
|
||||||
double theta = angle / 180d * Math.PI;
|
double theta = angle / 180d * Math.PI;
|
||||||
double[] pos = new double[] {
|
double[] pos = new double[] {
|
||||||
|
|
|
@ -38,8 +38,7 @@ public class RektCircleSpinner extends Spinner {
|
||||||
@Override
|
@Override
|
||||||
public double[] getPoint()
|
public double[] getPoint()
|
||||||
{
|
{
|
||||||
if( ++delay < DELAY )
|
if (!waitForDelay()) {
|
||||||
{
|
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
delay = 0;
|
delay = 0;
|
||||||
|
|
|
@ -22,7 +22,7 @@ public abstract class Spinner {
|
||||||
private double[][] points;
|
private double[][] points;
|
||||||
private int length;
|
private int length;
|
||||||
private int index;
|
private int index;
|
||||||
private int delay;
|
private static int delay;
|
||||||
public static int DELAY = 3;
|
public static int DELAY = 3;
|
||||||
|
|
||||||
public abstract void init();
|
public abstract void init();
|
||||||
|
@ -33,11 +33,22 @@ public abstract class Spinner {
|
||||||
}
|
}
|
||||||
|
|
||||||
public double[] getPoint() {
|
public double[] getPoint() {
|
||||||
if (++delay > DELAY) {
|
if (waitForDelay()) {
|
||||||
index = ++index % length;
|
index = ++index % length;
|
||||||
delay = 0;
|
|
||||||
}
|
}
|
||||||
return points[index];
|
return points[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean waitForDelay() {
|
||||||
|
if (delay >= DELAY) {
|
||||||
|
delay = 0;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void update(int delta) {
|
||||||
|
delay += delta;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user