Increased performance (Huge Refactor)
This commit is contained in:
parent
3553152649
commit
cfb59a3c4a
23 changed files with 210 additions and 368 deletions
|
@ -1,15 +1,18 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.0" orientation="orthogonal" renderorder="right-down" width="50" height="8" tilewidth="64" tileheight="64" nextobjectid="24">
|
<map version="1.0" orientation="orthogonal" renderorder="right-down" width="50" height="8" tilewidth="64" tileheight="64" nextobjectid="25">
|
||||||
<tileset firstgid="1" name="platformSet" tilewidth="64" tileheight="64" tilecount="3" columns="3">
|
<tileset firstgid="1" name="platformSet" tilewidth="64" tileheight="64" tilecount="3" columns="3">
|
||||||
<image source="../spritesheets/platformSet.png" width="192" height="64"/>
|
<image source="../spritesheets/platformSet.png" width="192" height="64"/>
|
||||||
</tileset>
|
</tileset>
|
||||||
|
<tileset firstgid="4" name="player" tilewidth="64" tileheight="64" tilecount="1" columns="1">
|
||||||
|
<image source="../textures/player.png" width="64" height="64"/>
|
||||||
|
</tileset>
|
||||||
<layer name="PLATFORM" width="50" height="8">
|
<layer name="PLATFORM" width="50" height="8">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJztk8EKACAIQzX//5/rOEKWktGhHgxPy5kl8qmggSLokE31FprsH53xFYyIeRAVvofV+dmdNEcMdYS5mA/rLl6GarJ/OeLP3PVJsH/03bLsHTB3AJM=
|
eJztk8EKACAIQzX//5/rOEKWktGhHgxPy5kl8qmggSLokE31FprsH53xFYyIeRAVvofV+dmdNEcMdYS5mA/rLl6GarJ/OeLP3PVJsH/03bLsHTB3AJM=
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<objectgroup name="PLAYER">
|
<objectgroup name="PLAYER">
|
||||||
<object id="19" gid="3" x="64" y="320" width="64" height="64"/>
|
<object id="24" gid="4" x="0" y="320" width="64" height="64"/>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
<objectgroup name="BOUNDARY">
|
<objectgroup name="BOUNDARY">
|
||||||
<object id="23" x="0" y="-192">
|
<object id="23" x="0" y="-192">
|
||||||
|
|
|
@ -1,19 +1,22 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.0" orientation="orthogonal" renderorder="right-down" width="50" height="8" tilewidth="64" tileheight="64" nextobjectid="22">
|
<map version="1.0" orientation="orthogonal" renderorder="right-down" width="50" height="8" tilewidth="64" tileheight="64" nextobjectid="25">
|
||||||
<tileset firstgid="1" name="platformSet" tilewidth="64" tileheight="64" tilecount="3" columns="3">
|
<tileset firstgid="1" name="platformSet" tilewidth="64" tileheight="64" tilecount="3" columns="3">
|
||||||
<image source="../spritesheets/platformSet.png" width="192" height="64"/>
|
<image source="../spritesheets/platformSet.png" width="192" height="64"/>
|
||||||
</tileset>
|
</tileset>
|
||||||
|
<tileset firstgid="4" name="player" tilewidth="64" tileheight="64" tilecount="1" columns="1">
|
||||||
|
<image source="../textures/player.png" width="64" height="64"/>
|
||||||
|
</tileset>
|
||||||
<layer name="PLATFORM" width="50" height="8">
|
<layer name="PLATFORM" width="50" height="8">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJxjYBgFo2B4ACYK9TMSqQaGKTWLFECJeUxYMDJghmJk9aS4B5t55AJK9A60HZSmv6EIAF6cACk=
|
eJxjYBgFo2B4ACYK9TMSqQaGKTWLFECJeUxYMDJghmJk9aS4B5t55AJK9A60HZSmv6EIAF6cACk=
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<objectgroup name="PLAYER">
|
<objectgroup name="PLAYER">
|
||||||
<object id="19" gid="3" x="64" y="320" width="64" height="64"/>
|
<object id="22" gid="4" x="0" y="256" width="64" height="64"/>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
<objectgroup name="BOUNDARY">
|
<objectgroup name="BOUNDARY">
|
||||||
<object id="21" x="-64" y="-192">
|
<object id="21" x="0" y="-277.333">
|
||||||
<polyline points="0,64 0,832 3392,832 3392,64 0,64"/>
|
<polyline points="0,85.3333 0,1109.33 3328,1109.33 3328,85.3333 0,85.3333"/>
|
||||||
</object>
|
</object>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
</map>
|
</map>
|
||||||
|
|
|
@ -1,199 +0,0 @@
|
||||||
uiskin.png
|
|
||||||
size: 256,128
|
|
||||||
format: RGBA8888
|
|
||||||
filter: Linear,Linear
|
|
||||||
repeat: none
|
|
||||||
check-off
|
|
||||||
rotate: false
|
|
||||||
xy: 11, 5
|
|
||||||
size: 14, 14
|
|
||||||
orig: 14, 14
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
textfield
|
|
||||||
rotate: false
|
|
||||||
xy: 11, 5
|
|
||||||
size: 14, 14
|
|
||||||
split: 3, 3, 3, 3
|
|
||||||
orig: 14, 14
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
check-on
|
|
||||||
rotate: false
|
|
||||||
xy: 125, 35
|
|
||||||
size: 14, 14
|
|
||||||
orig: 14, 14
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
cursor
|
|
||||||
rotate: false
|
|
||||||
xy: 23, 1
|
|
||||||
size: 3, 3
|
|
||||||
split: 1, 1, 1, 1
|
|
||||||
orig: 3, 3
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default
|
|
||||||
rotate: false
|
|
||||||
xy: 1, 50
|
|
||||||
size: 254, 77
|
|
||||||
orig: 254, 77
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-pane
|
|
||||||
rotate: false
|
|
||||||
xy: 11, 1
|
|
||||||
size: 5, 3
|
|
||||||
split: 1, 1, 1, 1
|
|
||||||
orig: 5, 3
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-rect-pad
|
|
||||||
rotate: false
|
|
||||||
xy: 11, 1
|
|
||||||
size: 5, 3
|
|
||||||
split: 1, 1, 1, 1
|
|
||||||
orig: 5, 3
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-pane-noborder
|
|
||||||
rotate: false
|
|
||||||
xy: 170, 44
|
|
||||||
size: 1, 1
|
|
||||||
split: 0, 0, 0, 0
|
|
||||||
orig: 1, 1
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-rect
|
|
||||||
rotate: false
|
|
||||||
xy: 38, 25
|
|
||||||
size: 3, 3
|
|
||||||
split: 1, 1, 1, 1
|
|
||||||
orig: 3, 3
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-rect-down
|
|
||||||
rotate: false
|
|
||||||
xy: 170, 46
|
|
||||||
size: 3, 3
|
|
||||||
split: 1, 1, 1, 1
|
|
||||||
orig: 3, 3
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-round
|
|
||||||
rotate: false
|
|
||||||
xy: 112, 29
|
|
||||||
size: 12, 20
|
|
||||||
split: 5, 5, 5, 4
|
|
||||||
pad: 4, 4, 1, 1
|
|
||||||
orig: 12, 20
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-round-down
|
|
||||||
rotate: false
|
|
||||||
xy: 99, 29
|
|
||||||
size: 12, 20
|
|
||||||
split: 5, 5, 5, 4
|
|
||||||
pad: 4, 4, 1, 1
|
|
||||||
orig: 12, 20
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-round-large
|
|
||||||
rotate: false
|
|
||||||
xy: 57, 29
|
|
||||||
size: 20, 20
|
|
||||||
split: 5, 5, 5, 4
|
|
||||||
orig: 20, 20
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-scroll
|
|
||||||
rotate: false
|
|
||||||
xy: 78, 29
|
|
||||||
size: 20, 20
|
|
||||||
split: 2, 2, 2, 2
|
|
||||||
orig: 20, 20
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-select
|
|
||||||
rotate: false
|
|
||||||
xy: 29, 29
|
|
||||||
size: 27, 20
|
|
||||||
split: 4, 14, 4, 4
|
|
||||||
orig: 27, 20
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-select-selection
|
|
||||||
rotate: false
|
|
||||||
xy: 26, 16
|
|
||||||
size: 3, 3
|
|
||||||
split: 1, 1, 1, 1
|
|
||||||
orig: 3, 3
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-slider
|
|
||||||
rotate: false
|
|
||||||
xy: 29, 20
|
|
||||||
size: 8, 8
|
|
||||||
split: 2, 2, 2, 2
|
|
||||||
orig: 8, 8
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-slider-knob
|
|
||||||
rotate: false
|
|
||||||
xy: 1, 1
|
|
||||||
size: 9, 18
|
|
||||||
orig: 9, 18
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-splitpane
|
|
||||||
rotate: false
|
|
||||||
xy: 17, 1
|
|
||||||
size: 5, 3
|
|
||||||
split: 0, 5, 0, 0
|
|
||||||
orig: 5, 3
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-splitpane-vertical
|
|
||||||
rotate: false
|
|
||||||
xy: 125, 29
|
|
||||||
size: 3, 5
|
|
||||||
split: 0, 0, 0, 5
|
|
||||||
orig: 3, 5
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
default-window
|
|
||||||
rotate: false
|
|
||||||
xy: 1, 20
|
|
||||||
size: 27, 29
|
|
||||||
split: 4, 3, 20, 3
|
|
||||||
orig: 27, 29
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
selection
|
|
||||||
rotate: false
|
|
||||||
xy: 174, 48
|
|
||||||
size: 1, 1
|
|
||||||
orig: 1, 1
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
tree-minus
|
|
||||||
rotate: false
|
|
||||||
xy: 140, 35
|
|
||||||
size: 14, 14
|
|
||||||
orig: 14, 14
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
tree-plus
|
|
||||||
rotate: false
|
|
||||||
xy: 155, 35
|
|
||||||
size: 14, 14
|
|
||||||
orig: 14, 14
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
white
|
|
||||||
rotate: false
|
|
||||||
xy: 129, 31
|
|
||||||
size: 3, 3
|
|
||||||
orig: 3, 3
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
|
@ -6,8 +6,7 @@ com.badlogic.gdx.graphics.Color: {
|
||||||
black: { a: 1, b: 0, g: 0, r: 0 },
|
black: { a: 1, b: 0, g: 0, r: 0 },
|
||||||
},
|
},
|
||||||
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
|
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
|
||||||
default: { down: default-round-down, up: default-round, font: default-font, fontColor: white, overFontColor: red },
|
default: { down: null, up: null, font: default-font, fontColor: white, overFontColor: red },
|
||||||
toggle: { down: default-round-down, up: default-round, checked: default-round-down, font: default-font, fontColor: white, downFontColor: red }
|
|
||||||
},
|
},
|
||||||
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: {
|
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: {
|
||||||
default: { font: default-font, fontColor: white }
|
default: { font: default-font, fontColor: white }
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 28 KiB |
|
@ -1,4 +1,4 @@
|
||||||
package com.game.Actor;
|
package com.game.actor;
|
||||||
|
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.physics.box2d.*;
|
import com.badlogic.gdx.physics.box2d.*;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.game.Actor;
|
package com.game.actor;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.g2d.Animation;
|
import com.badlogic.gdx.graphics.g2d.Animation;
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||||
|
@ -6,7 +6,7 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.physics.box2d.Body;
|
import com.badlogic.gdx.physics.box2d.Body;
|
||||||
|
|
||||||
import static com.game.Misc.Vars.PPM;
|
import static com.game.misc.Vars.PPM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 09/02/2016.
|
* Created by Ash on 09/02/2016.
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package com.game.Actor.Object;
|
package com.game.actor.object;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.game.Misc.Vars;
|
import com.game.misc.Vars;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 09/02/2016.
|
* Created by Ash on 09/02/2016.
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package com.game.Actor;
|
package com.game.actor;
|
||||||
|
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.physics.box2d.*;
|
import com.badlogic.gdx.physics.box2d.*;
|
||||||
import com.game.Misc.Box2dUtils;
|
import com.game.misc.Box2dUtils;
|
||||||
|
|
||||||
import static com.game.Misc.Vars.PPM;
|
import static com.game.misc.Vars.PPM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 08/02/2016.
|
* Created by Ash on 08/02/2016.
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package com.game.Actor;
|
package com.game.actor;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.physics.box2d.*;
|
import com.badlogic.gdx.physics.box2d.*;
|
||||||
import com.game.Misc.Box2dUtils;
|
import com.game.misc.Box2dUtils;
|
||||||
import com.game.Misc.Vars;
|
import com.game.misc.Vars;
|
||||||
|
|
||||||
import static com.game.Misc.Vars.PPM;
|
import static com.game.misc.Vars.PPM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 08/02/2016.
|
* Created by Ash on 08/02/2016.
|
||||||
|
|
|
@ -4,84 +4,58 @@ import com.badlogic.gdx.Game;
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.assets.AssetManager;
|
import com.badlogic.gdx.assets.AssetManager;
|
||||||
import com.badlogic.gdx.assets.loaders.FileHandleResolver;
|
|
||||||
import com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver;
|
|
||||||
import com.badlogic.gdx.graphics.OrthographicCamera;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||||
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGeneratorLoader;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.freetype.FreetypeFontLoader;
|
|
||||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||||
import com.game.Misc.Vars;
|
import com.game.managers.ScreenManager;
|
||||||
import com.game.Screens.Loading;
|
import com.game.screens.Menu;
|
||||||
import com.game.Screens.Menu;
|
|
||||||
|
|
||||||
public class App extends Game {
|
public class App extends Game {
|
||||||
|
|
||||||
private float accum;
|
// Managers
|
||||||
|
public AssetManager assets;
|
||||||
|
public ScreenManager sm;
|
||||||
|
|
||||||
|
|
||||||
// Batches
|
// Batches
|
||||||
private SpriteBatch sb;
|
public SpriteBatch sb;
|
||||||
private ShapeRenderer sr;
|
public ShapeRenderer sr;
|
||||||
|
|
||||||
// Cameras
|
// Cameras
|
||||||
//private OrthographicCamera cam;
|
//private OrthographicCamera cam;
|
||||||
//private OrthographicCamera hudCam;
|
//private OrthographicCamera hudCam;
|
||||||
|
|
||||||
// Managers
|
|
||||||
private AssetManager assetManager;
|
|
||||||
//private StateManager sm;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void create() {
|
public void create() {
|
||||||
assetManager = new AssetManager();
|
// Create managers
|
||||||
|
assets = new AssetManager();
|
||||||
|
sm = new ScreenManager(this);
|
||||||
|
|
||||||
// Create batches
|
// Create batches
|
||||||
sb = new SpriteBatch();
|
sb = new SpriteBatch();
|
||||||
sr = new ShapeRenderer();
|
sr = new ShapeRenderer();
|
||||||
sr.setAutoShapeType(true);
|
sr.setAutoShapeType(true);
|
||||||
|
|
||||||
// Create Main + HUD cameras
|
|
||||||
//cam = new OrthographicCamera();
|
|
||||||
//cam.setToOrtho(false, Vars.SCREEN_WIDTH, Vars.SCREEN_HEIGHT);
|
|
||||||
//hudCam = new OrthographicCamera();
|
|
||||||
//hudCam.setToOrtho(false, Vars.SCREEN_WIDTH, Vars.SCREEN_HEIGHT);
|
|
||||||
|
|
||||||
this.setScreen(new Loading(this));
|
sm.setScreen(ScreenManager.Screen.LOADING);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render () {
|
public void render () {
|
||||||
super.render();
|
super.render();
|
||||||
if(Gdx.input.isKeyPressed(Input.Keys.M))
|
|
||||||
{
|
|
||||||
this.setScreen(new Menu(this));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*accum += Gdx.graphics.getDeltaTime();
|
|
||||||
while (accum >= Vars.STEP) {
|
|
||||||
accum -= Vars.STEP;
|
|
||||||
sm.handleInput();
|
|
||||||
sm.update(Vars.STEP);
|
|
||||||
sm.render();
|
|
||||||
}*/
|
|
||||||
|
|
||||||
if(Gdx.input.isKeyPressed(Input.Keys.ESCAPE)) { Gdx.app.exit(); }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dispose () {
|
public void dispose () {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
assetManager.dispose();
|
|
||||||
sb.dispose();
|
sb.dispose();
|
||||||
sr.dispose();
|
sr.dispose();
|
||||||
|
assets.dispose();
|
||||||
|
sm.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
public SpriteBatch getSpriteBatch() { return sb; }
|
public SpriteBatch getSpriteBatch() { return sb; }
|
||||||
public ShapeRenderer getSr() { return sr; }
|
public ShapeRenderer getSr() { return sr; }
|
||||||
//public OrthographicCamera getCam() { return cam; }
|
public AssetManager getAssetManager() { return assets; }
|
||||||
//public OrthographicCamera getHudCam() { return hudCam; }
|
|
||||||
public AssetManager getAssetManager() { return assetManager; }
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package com.game.Misc;
|
package com.game.misc;
|
||||||
|
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.physics.box2d.*;
|
import com.badlogic.gdx.physics.box2d.*;
|
||||||
|
|
||||||
import static com.game.Misc.Vars.PPM;
|
import static com.game.misc.Vars.PPM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 09/02/2016.
|
* Created by Ash on 09/02/2016.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.game.Misc;
|
package com.game.misc;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Camera;
|
import com.badlogic.gdx.graphics.Camera;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.game.Misc;
|
package com.game.misc;
|
||||||
|
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.game.Actor.Object.Background;
|
import com.game.actor.object.Background;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 09/02/2016.
|
* Created by Ash on 09/02/2016.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.game.Misc;
|
package com.game.misc;
|
||||||
|
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
package com.game.Screens;
|
package com.game.screens;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.Screen;
|
import com.badlogic.gdx.Screen;
|
||||||
import com.badlogic.gdx.assets.AssetManager;
|
import com.badlogic.gdx.assets.AssetManager;
|
||||||
import com.badlogic.gdx.graphics.GL20;
|
import com.badlogic.gdx.graphics.GL20;
|
||||||
import com.badlogic.gdx.graphics.OrthographicCamera;
|
import com.badlogic.gdx.graphics.OrthographicCamera;
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
import com.badlogic.gdx.math.Matrix4;
|
||||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.Stage;
|
import com.badlogic.gdx.scenes.scene2d.Stage;
|
||||||
import com.game.App;
|
import com.game.App;
|
||||||
import com.game.Misc.Vars;
|
import com.game.misc.Vars;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 11/02/2016.
|
* Created by Ash on 11/02/2016.
|
||||||
|
@ -19,38 +18,38 @@ public abstract class AbstractScreen implements Screen {
|
||||||
// App reference
|
// App reference
|
||||||
protected App app;
|
protected App app;
|
||||||
|
|
||||||
// Batches
|
/*// Manager references
|
||||||
|
protected AssetManager assets;
|
||||||
|
|
||||||
|
// Batch references
|
||||||
protected SpriteBatch sb;
|
protected SpriteBatch sb;
|
||||||
protected ShapeRenderer sr;
|
protected ShapeRenderer sr;*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Cameras
|
// Cameras
|
||||||
protected OrthographicCamera cam;
|
protected OrthographicCamera cam;
|
||||||
protected OrthographicCamera hudCam;
|
protected OrthographicCamera hudCam;
|
||||||
|
|
||||||
// Managers
|
|
||||||
protected AssetManager assets;
|
|
||||||
|
|
||||||
// Stage
|
// Stage
|
||||||
protected Stage stage;
|
protected Stage stage;
|
||||||
|
|
||||||
public AbstractScreen(final App app)
|
public AbstractScreen(final App app)
|
||||||
{
|
{
|
||||||
this.app = app;
|
this.app = app;
|
||||||
sb = app.getSpriteBatch();
|
|
||||||
sr = app.getSr();
|
|
||||||
|
|
||||||
cam = new OrthographicCamera();
|
cam = new OrthographicCamera();
|
||||||
cam.setToOrtho(false, Vars.SCREEN_WIDTH, Vars.SCREEN_HEIGHT);
|
cam.setToOrtho(false, Vars.SCREEN_WIDTH, Vars.SCREEN_HEIGHT);
|
||||||
hudCam = new OrthographicCamera();
|
hudCam = new OrthographicCamera();
|
||||||
hudCam.setToOrtho(false, Vars.SCREEN_WIDTH, Vars.SCREEN_HEIGHT);
|
hudCam.setToOrtho(false, Vars.SCREEN_WIDTH, Vars.SCREEN_HEIGHT);
|
||||||
|
|
||||||
assets = app.getAssetManager();
|
this.stage = new Stage();
|
||||||
stage = new Stage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void show() {
|
public void show() {
|
||||||
|
System.out.println("Showing screen: " + this.getClass().getSimpleName());
|
||||||
Gdx.input.setInputProcessor(stage);
|
Gdx.input.setInputProcessor(stage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,13 +61,14 @@ public abstract class AbstractScreen implements Screen {
|
||||||
update(dt);
|
update(dt);
|
||||||
Gdx.gl.glClearColor(0, 0, 0, 1f);
|
Gdx.gl.glClearColor(0, 0, 0, 1f);
|
||||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||||
|
app.sb.setProjectionMatrix(cam.combined);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void handleInput();
|
public abstract void handleInput();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resize(int width, int height) {
|
public void resize(int width, int height) {
|
||||||
|
stage.getViewport().update(width, height, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -83,11 +83,12 @@ public abstract class AbstractScreen implements Screen {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void hide() {
|
public void hide() {
|
||||||
|
Gdx.input.setInputProcessor(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
stage.dispose();
|
stage.dispose();
|
||||||
|
System.out.println("Disposing screen: " + this.getClass().getSimpleName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
package com.game.Screens;
|
package com.game.screens;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.Gdx;
|
||||||
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
||||||
import com.game.App;
|
import com.game.App;
|
||||||
|
import com.game.managers.ScreenManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 11/02/2016.
|
* Created by Ash on 11/02/2016.
|
||||||
|
@ -33,15 +36,15 @@ public class Leaderboard extends AbstractScreen {
|
||||||
public void render(float dt) {
|
public void render(float dt) {
|
||||||
super.render(dt);
|
super.render(dt);
|
||||||
|
|
||||||
sb.begin();
|
app.sb.begin();
|
||||||
sb.draw(assets.get("textures/leaderboardBackground.jpg", Texture.class), 0, 0);
|
app.sb.draw(app.assets.get("textures/leaderboardBackground.jpg", Texture.class), 0, 0);
|
||||||
assets.get("badaboom25.ttf", BitmapFont.class).draw(sb,"Press M to go back to menu", 100, 100);
|
app.assets.get("badaboom25.ttf", BitmapFont.class).draw(app.sb,"Press M to go back to menu", 100, 100);
|
||||||
sb.end();
|
app.sb.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleInput() {
|
public void handleInput() {
|
||||||
|
if(Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) { app.sm.setScreen(ScreenManager.Screen.MENU); }
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.game.Screens;
|
package com.game.screens;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 11/02/2016.
|
* Created by Ash on 11/02/2016.
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.game.Screens;
|
package com.game.screens;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
|
||||||
import com.badlogic.gdx.assets.loaders.FileHandleResolver;
|
import com.badlogic.gdx.assets.loaders.FileHandleResolver;
|
||||||
import com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver;
|
import com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver;
|
||||||
import com.badlogic.gdx.audio.Music;
|
import com.badlogic.gdx.audio.Music;
|
||||||
|
@ -16,17 +15,16 @@ import com.badlogic.gdx.math.Interpolation;
|
||||||
import com.badlogic.gdx.math.Rectangle;
|
import com.badlogic.gdx.math.Rectangle;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
import com.game.App;
|
import com.game.App;
|
||||||
|
import com.game.managers.ScreenManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 11/02/2016.
|
* Created by Ash on 11/02/2016.
|
||||||
*/
|
*/
|
||||||
public class Loading extends AbstractScreen {
|
public class Loading extends AbstractScreen {
|
||||||
|
|
||||||
private Image logo;
|
|
||||||
|
|
||||||
private float percent;
|
private float percent;
|
||||||
|
|
||||||
private Rectangle loadingRect;
|
private Rectangle loadingRect;
|
||||||
|
private Texture logo;
|
||||||
|
|
||||||
public Loading(App app) {
|
public Loading(App app) {
|
||||||
super(app);
|
super(app);
|
||||||
|
@ -35,17 +33,17 @@ public class Loading extends AbstractScreen {
|
||||||
@Override
|
@Override
|
||||||
public void show() {
|
public void show() {
|
||||||
super.show();
|
super.show();
|
||||||
|
|
||||||
FileHandleResolver resolver = new InternalFileHandleResolver();
|
FileHandleResolver resolver = new InternalFileHandleResolver();
|
||||||
assets.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
|
app.assets.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
|
||||||
assets.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
|
app.assets.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
|
||||||
|
|
||||||
loadFont("fonts/badaboom.TTF", 60, Color.BLACK);
|
loadFont("fonts/badaboom.TTF", 60, Color.BLACK);
|
||||||
|
|
||||||
assets.load("textures/player.png", Texture.class);
|
app.assets.load("textures/player.png", Texture.class);
|
||||||
assets.finishLoading(); // make sure player texture and font is loaded
|
app.assets.finishLoading(); // make sure player texture and font is loaded
|
||||||
|
|
||||||
logo = new Image(assets.get("textures/player.png", Texture.class));
|
logo = app.assets.get("textures/player.png", Texture.class);
|
||||||
logo.setPosition((stage.getWidth() / 2) - logo.getWidth() / 2, (stage.getHeight() / 1.5f) - logo.getHeight() / 2);
|
|
||||||
loadingRect = new Rectangle(stage.getWidth() / 6f, (stage.getHeight() / 2f - 25), 0, 25);
|
loadingRect = new Rectangle(stage.getWidth() / 6f, (stage.getHeight() / 2f - 25), 0, 25);
|
||||||
|
|
||||||
assetsToLoad();
|
assetsToLoad();
|
||||||
|
@ -53,12 +51,12 @@ public class Loading extends AbstractScreen {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(float dt) {
|
public void update(float dt) {
|
||||||
percent = Interpolation.linear.apply(percent, assets.getProgress(), 0.3f);
|
percent = Interpolation.linear.apply(percent, app.assets.getProgress(), 0.3f);
|
||||||
|
|
||||||
loadingRect.width = 0 + 853.3333f * percent;
|
loadingRect.width = 0 + 853.3333f * percent;
|
||||||
|
|
||||||
if (assets.update() && loadingRect.width >= 852f) { // continue to menu screen when all assets have loaded
|
if (app.assets.update() && loadingRect.width >= 852f) { // continue to menu screen when all assets have loaded
|
||||||
app.setScreen(new Menu(app));
|
app.sm.setScreen(ScreenManager.Screen.MENU);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,17 +64,18 @@ public class Loading extends AbstractScreen {
|
||||||
public void render(float dt) {
|
public void render(float dt) {
|
||||||
super.render(dt);
|
super.render(dt);
|
||||||
|
|
||||||
sr.begin(ShapeRenderer.ShapeType.Filled);
|
// Loading bar
|
||||||
sr.setColor(1, 0, 0, 1);
|
app.sr.begin(ShapeRenderer.ShapeType.Filled);
|
||||||
sr.rect(loadingRect.x, loadingRect.y, loadingRect.width, loadingRect.height); // Red loading bar
|
app.sr.setColor(1, 0, 0, 1);
|
||||||
sr.set(ShapeRenderer.ShapeType.Line);
|
app.sr.rect(loadingRect.x, loadingRect.y, loadingRect.width, loadingRect.height); // Red loading bar
|
||||||
sr.rect(loadingRect.x, loadingRect.y, 853.3333f, loadingRect.height); // Outline
|
app.sr.set(ShapeRenderer.ShapeType.Line);
|
||||||
sr.end();
|
app.sr.rect(loadingRect.x, loadingRect.y, 853.3333f, loadingRect.height); // Outline
|
||||||
|
app.sr.end();
|
||||||
|
|
||||||
sb.begin();
|
app.sb.begin();
|
||||||
assets.get("badaboom60.ttf", BitmapFont.class).draw(sb, "Loading", stage.getWidth() / 2 - 80, loadingRect.y + 80);
|
app.assets.get("badaboom60.ttf", BitmapFont.class).draw(app.sb, "Loading", stage.getWidth() / 2 - 80, loadingRect.y + 80);
|
||||||
logo.draw(sb, 1f);
|
app.sb.draw(logo, (stage.getWidth() / 2) - logo.getWidth() / 2, (stage.getHeight() / 1.5f) - logo.getHeight() / 2);
|
||||||
sb.end();
|
app.sb.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -87,6 +86,7 @@ public class Loading extends AbstractScreen {
|
||||||
@Override
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
|
logo.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assetsToLoad()
|
private void assetsToLoad()
|
||||||
|
@ -96,16 +96,16 @@ public class Loading extends AbstractScreen {
|
||||||
loadFont("fonts/badaboom.TTF", 45, Color.BLACK);
|
loadFont("fonts/badaboom.TTF", 45, Color.BLACK);
|
||||||
|
|
||||||
|
|
||||||
assets.load("textures/badlogic.jpg", Texture.class);
|
app.assets.load("textures/badlogic.jpg", Texture.class);
|
||||||
assets.load("textures/menuBackground.jpg", Texture.class);
|
app.assets.load("textures/menuBackground.jpg", Texture.class);
|
||||||
assets.load("textures/leaderboardBackground.jpg", Texture.class);
|
app.assets.load("textures/leaderboardBackground.jpg", Texture.class);
|
||||||
assets.load("textures/position0.png", Texture.class);
|
app.assets.load("textures/position0.png", Texture.class);
|
||||||
assets.load("textures/position1.png", Texture.class);
|
app.assets.load("textures/position1.png", Texture.class);
|
||||||
assets.load("textures/position2.png", Texture.class);
|
app.assets.load("textures/position2.png", Texture.class);
|
||||||
|
|
||||||
assets.load("sounds/jumping.mp3", Sound.class);
|
app.assets.load("sounds/jumping.mp3", Sound.class);
|
||||||
|
|
||||||
assets.load("music/TheComplex.mp3", Music.class);
|
app.assets.load("music/TheComplex.mp3", Music.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadFont(String fontFileName, int size, Color borderColour)
|
private void loadFont(String fontFileName, int size, Color borderColour)
|
||||||
|
@ -116,6 +116,6 @@ public class Loading extends AbstractScreen {
|
||||||
params.fontParameters.borderWidth = 2;
|
params.fontParameters.borderWidth = 2;
|
||||||
params.fontParameters.borderColor = borderColour;
|
params.fontParameters.borderColor = borderColour;
|
||||||
|
|
||||||
assets.load("badaboom" + size + ".ttf", BitmapFont.class, params);
|
app.assets.load("badaboom" + size + ".ttf", BitmapFont.class, params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,28 +1,26 @@
|
||||||
package com.game.Screens;
|
package com.game.screens;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.audio.Music;
|
import com.badlogic.gdx.audio.Music;
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
||||||
import com.badlogic.gdx.math.Interpolation;
|
import com.badlogic.gdx.math.Interpolation;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
|
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
import com.game.App;
|
import com.game.App;
|
||||||
|
import com.game.managers.ScreenManager;
|
||||||
|
|
||||||
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.*;
|
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.*;
|
||||||
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.alpha;
|
|
||||||
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.fadeIn;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 11/02/2016.
|
* Created by Ash on 11/02/2016.
|
||||||
*/
|
*/
|
||||||
public class Menu extends AbstractScreen {
|
public class Menu extends AbstractScreen {
|
||||||
|
|
||||||
private TextureAtlas atlas;
|
|
||||||
private Skin skin;
|
private Skin skin;
|
||||||
|
|
||||||
// Buttons
|
// Buttons
|
||||||
|
@ -33,15 +31,7 @@ public class Menu extends AbstractScreen {
|
||||||
|
|
||||||
public Menu(App app) {
|
public Menu(App app) {
|
||||||
super(app);
|
super(app);
|
||||||
|
skin = new Skin();
|
||||||
atlas = new TextureAtlas("spriteSheets/uiskin.atlas");
|
|
||||||
skin = new Skin(atlas);
|
|
||||||
|
|
||||||
skin.add("default-font", assets.get("badaboom60.ttf", BitmapFont.class));
|
|
||||||
skin.load(Gdx.files.internal("spritesheets/uiskin.json"));
|
|
||||||
|
|
||||||
music = assets.get("music/TheComplex.mp3", Music.class);
|
|
||||||
music.setLooping(true);
|
|
||||||
|
|
||||||
buttonSize = new Vector2(128, 40);
|
buttonSize = new Vector2(128, 40);
|
||||||
}
|
}
|
||||||
|
@ -49,6 +39,13 @@ public class Menu extends AbstractScreen {
|
||||||
@Override
|
@Override
|
||||||
public void show() {
|
public void show() {
|
||||||
super.show();
|
super.show();
|
||||||
|
|
||||||
|
skin.add("default-font", app.assets.get("badaboom60.ttf", BitmapFont.class));
|
||||||
|
skin.load(Gdx.files.internal("spritesheets/uiskin.json"));
|
||||||
|
|
||||||
|
music = app.assets.get("music/TheComplex.mp3", Music.class);
|
||||||
|
music.setLooping(true);
|
||||||
|
|
||||||
initButtons();
|
initButtons();
|
||||||
music.play();
|
music.play();
|
||||||
}
|
}
|
||||||
|
@ -56,6 +53,7 @@ public class Menu extends AbstractScreen {
|
||||||
@Override
|
@Override
|
||||||
public void update(float dt) {
|
public void update(float dt) {
|
||||||
stage.act(dt);
|
stage.act(dt);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -63,21 +61,16 @@ public class Menu extends AbstractScreen {
|
||||||
{
|
{
|
||||||
super.render(dt);
|
super.render(dt);
|
||||||
|
|
||||||
sb.begin();
|
app.sb.begin();
|
||||||
sb.draw(assets.get("textures/menuBackground.jpg", Texture.class), 0, 0);
|
app.sb.draw(app.assets.get("textures/menuBackground.jpg", Texture.class), 0, 0);
|
||||||
sb.end();
|
app.sb.end();
|
||||||
|
|
||||||
stage.draw();
|
stage.draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleInput() {
|
public void handleInput() {
|
||||||
|
if(Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) { Gdx.app.exit(); }
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void hide() {
|
|
||||||
super.hide();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -93,9 +86,8 @@ public class Menu extends AbstractScreen {
|
||||||
butPlay.addListener(new ClickListener() {
|
butPlay.addListener(new ClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void clicked (com.badlogic.gdx.scenes.scene2d.InputEvent event, float x, float y) {
|
public void clicked (com.badlogic.gdx.scenes.scene2d.InputEvent event, float x, float y) {
|
||||||
Gdx.input.setInputProcessor(null);
|
|
||||||
music.stop();
|
music.stop();
|
||||||
app.setScreen(new Play(app));
|
app.sm.setPlayScreen(1);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -105,8 +97,7 @@ public class Menu extends AbstractScreen {
|
||||||
butLeaderboard.addListener(new ClickListener() {
|
butLeaderboard.addListener(new ClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void clicked (com.badlogic.gdx.scenes.scene2d.InputEvent event, float x, float y) {
|
public void clicked (com.badlogic.gdx.scenes.scene2d.InputEvent event, float x, float y) {
|
||||||
Gdx.input.setInputProcessor(null);
|
app.sm.setScreen(ScreenManager.Screen.LEADERBOARD);
|
||||||
app.setScreen(new Leaderboard(app));
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -120,7 +111,6 @@ public class Menu extends AbstractScreen {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//butPlay.addAction(parallel(alpha(0), moveTo(stage.getWidth() / 2, stage.getHeight() / 2, 5f, Interpolation.pow5), sequence(alpha(0f), fadeIn(1.5f, Interpolation.pow2))));
|
|
||||||
butPlay.addAction(sequence(alpha(0f), fadeIn(1f, Interpolation.pow2)));
|
butPlay.addAction(sequence(alpha(0f), fadeIn(1f, Interpolation.pow2)));
|
||||||
butLeaderboard.addAction(sequence(alpha(0f), fadeIn(1.5f, Interpolation.pow2)));
|
butLeaderboard.addAction(sequence(alpha(0f), fadeIn(1.5f, Interpolation.pow2)));
|
||||||
butExit.addAction(sequence(alpha(0f), fadeIn(2f, Interpolation.pow2)));
|
butExit.addAction(sequence(alpha(0f), fadeIn(2f, Interpolation.pow2)));
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.game.Screens;
|
package com.game.screens;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
|
@ -17,16 +17,17 @@ import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
|
||||||
import com.badlogic.gdx.math.Polyline;
|
import com.badlogic.gdx.math.Polyline;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.physics.box2d.*;
|
import com.badlogic.gdx.physics.box2d.*;
|
||||||
import com.game.Actor.Base;
|
import com.game.actor.Base;
|
||||||
import com.game.Actor.Platform;
|
import com.game.actor.Platform;
|
||||||
import com.game.Actor.Player;
|
import com.game.actor.Player;
|
||||||
import com.game.App;
|
import com.game.App;
|
||||||
import com.game.Misc.CameraUtils;
|
import com.game.managers.ScreenManager;
|
||||||
import com.game.Misc.Vars;
|
import com.game.misc.CameraUtils;
|
||||||
|
import com.game.misc.Vars;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import static com.game.Misc.Vars.PPM;
|
import static com.game.misc.Vars.PPM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Ash on 11/02/2016.
|
* Created by Ash on 11/02/2016.
|
||||||
|
@ -51,11 +52,15 @@ public class Play extends AbstractScreen {
|
||||||
private Player player;
|
private Player player;
|
||||||
private ArrayList<Platform> platforms = new ArrayList<Platform>();
|
private ArrayList<Platform> platforms = new ArrayList<Platform>();
|
||||||
|
|
||||||
|
private int levelNumber;
|
||||||
|
|
||||||
private Sound jumpSound = Gdx.audio.newSound(Gdx.files.internal("sounds/jumping.mp3"));
|
private Sound jumpSound = Gdx.audio.newSound(Gdx.files.internal("sounds/jumping.mp3"));
|
||||||
|
|
||||||
public Play(App app) {
|
public Play(App app, int levelNumber) {
|
||||||
super(app);
|
super(app);
|
||||||
|
|
||||||
|
this.levelNumber = levelNumber;
|
||||||
|
|
||||||
world = new World(new Vector2(0, Vars.GRAVITY.y), true);
|
world = new World(new Vector2(0, Vars.GRAVITY.y), true);
|
||||||
world.setContactListener(cl);
|
world.setContactListener(cl);
|
||||||
|
|
||||||
|
@ -91,15 +96,14 @@ public class Play extends AbstractScreen {
|
||||||
public void render(float dt) {
|
public void render(float dt) {
|
||||||
super.render(dt);
|
super.render(dt);
|
||||||
|
|
||||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
app.sb.setProjectionMatrix(cam.combined);
|
||||||
sb.setProjectionMatrix(cam.combined);
|
|
||||||
|
|
||||||
if(!isDebug)
|
if(!isDebug)
|
||||||
{
|
{
|
||||||
sb.begin();
|
app.sb.begin();
|
||||||
assets.get("badaboom25.ttf", BitmapFont.class).draw(sb,"Press M to go back to menu", 0, 0);
|
app.assets.get("badaboom25.ttf", BitmapFont.class).draw(app.sb,"Press M to go back to menu", 0, 0);
|
||||||
player.render(sb);
|
player.render(app.sb);
|
||||||
sb.end();
|
app.sb.end();
|
||||||
|
|
||||||
tmr.setView(cam);
|
tmr.setView(cam);
|
||||||
tmr.render();
|
tmr.render();
|
||||||
|
@ -118,8 +122,7 @@ public class Play extends AbstractScreen {
|
||||||
player.jump();
|
player.jump();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) { app.sm.setScreen(ScreenManager.Screen.MENU); }
|
||||||
|
|
||||||
if(Gdx.input.isKeyJustPressed(Input.Keys.V)) { isDebug = !isDebug; }
|
if(Gdx.input.isKeyJustPressed(Input.Keys.V)) { isDebug = !isDebug; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,7 +134,7 @@ public class Play extends AbstractScreen {
|
||||||
|
|
||||||
private void setupLevel()
|
private void setupLevel()
|
||||||
{
|
{
|
||||||
tileMap = new TmxMapLoader().load("levels/level1.tmx");
|
tileMap = new TmxMapLoader().load("levels/level" + levelNumber + ".tmx");
|
||||||
tmr = new OrthogonalTiledMapRenderer(tileMap);
|
tmr = new OrthogonalTiledMapRenderer(tileMap);
|
||||||
|
|
||||||
MapProperties mapProp = tileMap.getProperties();
|
MapProperties mapProp = tileMap.getProperties();
|
||||||
|
|
65
core/src/com/game/managers/ScreenManager.java
Normal file
65
core/src/com/game/managers/ScreenManager.java
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
package com.game.managers;
|
||||||
|
|
||||||
|
import com.game.App;
|
||||||
|
import com.game.screens.*;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Ash on 12/02/2016.
|
||||||
|
*/
|
||||||
|
public class ScreenManager {
|
||||||
|
|
||||||
|
private final App app;
|
||||||
|
|
||||||
|
private HashMap<Screen, AbstractScreen> screens = new HashMap<Screen, AbstractScreen>();
|
||||||
|
public enum Screen
|
||||||
|
{
|
||||||
|
LOADING,
|
||||||
|
MENU,
|
||||||
|
LEADERBOARD,
|
||||||
|
LEVELSELECT,
|
||||||
|
PLAY,
|
||||||
|
}
|
||||||
|
|
||||||
|
public ScreenManager(final App app)
|
||||||
|
{
|
||||||
|
this.app = app;
|
||||||
|
initScreens();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initScreens()
|
||||||
|
{
|
||||||
|
screens.put(Screen.LOADING, new Loading(app));
|
||||||
|
screens.put(Screen.MENU, new Menu(app));
|
||||||
|
screens.put(Screen.LEADERBOARD, new Leaderboard(app));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlayScreen(int levelNumber)
|
||||||
|
{
|
||||||
|
// remove loaded level
|
||||||
|
if(screens.get(Screen.PLAY) != null)
|
||||||
|
{
|
||||||
|
screens.get(Screen.PLAY).dispose();
|
||||||
|
screens.remove(Screen.PLAY);
|
||||||
|
}
|
||||||
|
screens.put(Screen.PLAY, new Play(app, levelNumber));
|
||||||
|
setScreen(Screen.PLAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setScreen(Screen s)
|
||||||
|
{
|
||||||
|
app.setScreen(screens.get(s));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void dispose()
|
||||||
|
{
|
||||||
|
for(AbstractScreen s : screens.values())
|
||||||
|
{
|
||||||
|
if(s != null)
|
||||||
|
{
|
||||||
|
s.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -4,7 +4,7 @@ import com.badlogic.gdx.Files;
|
||||||
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
|
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
|
||||||
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
|
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
|
||||||
import com.game.App;
|
import com.game.App;
|
||||||
import com.game.Misc.Vars;
|
import com.game.misc.Vars;
|
||||||
|
|
||||||
public class DesktopLauncher {
|
public class DesktopLauncher {
|
||||||
public static void main (String[] arg) {
|
public static void main (String[] arg) {
|
||||||
|
|
Reference in a new issue