use better spinnerdelay
This commit is contained in:
@@ -36,6 +36,10 @@ public class BeamSpinner extends Spinner {
|
||||
@Override
|
||||
public double[] getPoint()
|
||||
{
|
||||
if (!waitForDelay()) {
|
||||
return point;
|
||||
}
|
||||
|
||||
index = ++index % 4;
|
||||
final int MOD = 60;
|
||||
|
||||
|
||||
@@ -34,7 +34,9 @@ public class CircleSpinner extends Spinner {
|
||||
@Override
|
||||
public double[] getPoint()
|
||||
{
|
||||
ang += 15;
|
||||
if (waitForDelay()) {
|
||||
ang += 15;
|
||||
}
|
||||
|
||||
double rad = Options.width / 4.0f;
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ public class CubeSpinner extends Spinner {
|
||||
@Override
|
||||
public double[] getPoint()
|
||||
{
|
||||
if( ++index >= 16 )
|
||||
if(waitForDelay() && ++index >= 16 )
|
||||
{
|
||||
index = 0;
|
||||
azimuth += 2.0d;
|
||||
|
||||
@@ -34,7 +34,9 @@ public class DonutSpinner extends Spinner {
|
||||
@Override
|
||||
public double[] getPoint()
|
||||
{
|
||||
ang += 15;
|
||||
if (waitForDelay()) {
|
||||
ang += 15;
|
||||
}
|
||||
|
||||
double rad = Options.width / 4.0f;
|
||||
|
||||
|
||||
@@ -35,7 +35,9 @@ public class HalfCircleSpinner extends Spinner {
|
||||
@Override
|
||||
public double[] getPoint()
|
||||
{
|
||||
ang += 15;
|
||||
if (waitForDelay()) {
|
||||
ang += 15;
|
||||
}
|
||||
|
||||
if( ang > skipang - 160 )
|
||||
{
|
||||
|
||||
@@ -32,7 +32,9 @@ public class LessThanThreeSpinner extends Spinner {
|
||||
@Override
|
||||
public double[] getPoint()
|
||||
{
|
||||
angle += 18;
|
||||
if (waitForDelay()) {
|
||||
angle += 18;
|
||||
}
|
||||
if( angle > 360 ) angle = 0;
|
||||
double theta = angle / 180d * Math.PI;
|
||||
double[] pos = new double[] {
|
||||
|
||||
@@ -38,8 +38,7 @@ public class RektCircleSpinner extends Spinner {
|
||||
@Override
|
||||
public double[] getPoint()
|
||||
{
|
||||
if( ++delay < DELAY )
|
||||
{
|
||||
if (!waitForDelay()) {
|
||||
return point;
|
||||
}
|
||||
delay = 0;
|
||||
|
||||
@@ -22,7 +22,7 @@ public abstract class Spinner {
|
||||
private double[][] points;
|
||||
private int length;
|
||||
private int index;
|
||||
private int delay;
|
||||
private static int delay;
|
||||
public static int DELAY = 3;
|
||||
|
||||
public abstract void init();
|
||||
@@ -33,11 +33,22 @@ public abstract class Spinner {
|
||||
}
|
||||
|
||||
public double[] getPoint() {
|
||||
if (++delay > DELAY) {
|
||||
if (waitForDelay()) {
|
||||
index = ++index % length;
|
||||
delay = 0;
|
||||
}
|
||||
return points[index];
|
||||
}
|
||||
|
||||
public boolean waitForDelay() {
|
||||
if (delay >= DELAY) {
|
||||
delay = 0;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void update(int delta) {
|
||||
delay += delta;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user