summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/src/ch/asynk/zproject/screens/LoadingScreen.java39
1 files changed, 18 insertions, 21 deletions
diff --git a/core/src/ch/asynk/zproject/screens/LoadingScreen.java b/core/src/ch/asynk/zproject/screens/LoadingScreen.java
index 154cc11..598beb9 100644
--- a/core/src/ch/asynk/zproject/screens/LoadingScreen.java
+++ b/core/src/ch/asynk/zproject/screens/LoadingScreen.java
@@ -18,7 +18,7 @@ public class LoadingScreen implements Screen
private final Color c;
private final OrthographicCamera camera;
- private final float DELAY_AFTER = 1f;
+ private final float BLINK_AFTER = 2f;
private final float ALPHA_FACTOR = 1.5f;
private boolean paused;
@@ -29,7 +29,7 @@ public class LoadingScreen implements Screen
private AtlasRegion loaded;
private int x, y;
- private float acc;
+ private int count;
private float percent;
private float alpha;
private boolean incr;
@@ -75,29 +75,33 @@ public class LoadingScreen implements Screen
{
if (paused) return;
- percent = zproject.assets.getProgress();
+ if (!isLoaded) {
+ if (zproject.assets.update()) {
+ ZProject.debug("LoadingScreen", "assets loaded");
+ isLoaded = true;
+ percent = 1f;
+ } else {
+ percent = zproject.assets.getProgress();
+ }
+ }
+
if (!isLoaded && percent >= 1f) {
- acc = 0f;
+ count = 0;
alpha = 1f;
incr = false;
}
- if (isLoaded) {
- acc += delta;
- if (acc >= DELAY_AFTER) {
- // FIXME callback
- // zproject.switchToGame();
- onLoaded.call();
- return;
- }
- }
-
delta *= ALPHA_FACTOR;
if (incr) {
alpha += delta;
if (alpha >= 1f ) {
alpha = 1f;
incr = false;
+ if (isLoaded) count += 1;
+ if (count >= BLINK_AFTER) {
+ onLoaded.call();
+ return;
+ }
}
} else {
alpha -= delta;
@@ -107,13 +111,6 @@ public class LoadingScreen implements Screen
}
}
- if (!isLoaded) {
- if (zproject.assets.update()) {
- ZProject.debug("LoadingScreen", "assets loaded");
- isLoaded = true;
- }
- }
-
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);