minor work on entities and added speed control to polyjet entity
This commit is contained in:
parent
f5352b8e22
commit
1832f32b6a
@ -23,6 +23,8 @@ public class KeyMap {
|
|||||||
public static final String SECONDTHIRDTELEPORT = "secondThirdTP";
|
public static final String SECONDTHIRDTELEPORT = "secondThirdTP";
|
||||||
public static final String THIRDTHIRDTELEPORT = "thirdThirdTP";
|
public static final String THIRDTHIRDTELEPORT = "thirdThirdTP";
|
||||||
|
|
||||||
|
public static final String ACCELERATE = "accelerate";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* forward binding.
|
* forward binding.
|
||||||
*/
|
*/
|
||||||
@ -56,6 +58,8 @@ public class KeyMap {
|
|||||||
*/
|
*/
|
||||||
public static int thirdThirdTeleport;
|
public static int thirdThirdTeleport;
|
||||||
|
|
||||||
|
public static int accelerate;
|
||||||
|
|
||||||
|
|
||||||
public KeyMap(Polyjet core) {
|
public KeyMap(Polyjet core) {
|
||||||
keyTextures = core.getAssetManager().get("keyboard.atlas", TextureAtlas.class);
|
keyTextures = core.getAssetManager().get("keyboard.atlas", TextureAtlas.class);
|
||||||
@ -108,6 +112,8 @@ public class KeyMap {
|
|||||||
firstThirdTeleport = keyBindPrefs.getInteger(KeyMap.FIRSTTHIRDTELEPORT, Keys.Q);
|
firstThirdTeleport = keyBindPrefs.getInteger(KeyMap.FIRSTTHIRDTELEPORT, Keys.Q);
|
||||||
secondThirdTeleport = keyBindPrefs.getInteger(KeyMap.SECONDTHIRDTELEPORT, Keys.W);
|
secondThirdTeleport = keyBindPrefs.getInteger(KeyMap.SECONDTHIRDTELEPORT, Keys.W);
|
||||||
thirdThirdTeleport = keyBindPrefs.getInteger(KeyMap.THIRDTHIRDTELEPORT, Keys.E);
|
thirdThirdTeleport = keyBindPrefs.getInteger(KeyMap.THIRDTHIRDTELEPORT, Keys.E);
|
||||||
|
|
||||||
|
accelerate = keyBindPrefs.getInteger(KeyMap.ACCELERATE, Keys.SHIFT_LEFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -135,6 +141,8 @@ public class KeyMap {
|
|||||||
return KeyMap.secondThirdTeleport;
|
return KeyMap.secondThirdTeleport;
|
||||||
} else if (control == KeyMap.THIRDTHIRDTELEPORT) {
|
} else if (control == KeyMap.THIRDTHIRDTELEPORT) {
|
||||||
return KeyMap.thirdThirdTeleport;
|
return KeyMap.thirdThirdTeleport;
|
||||||
|
} else if (control == KeyMap.ACCELERATE) {
|
||||||
|
return KeyMap.accelerate;
|
||||||
} else {
|
} else {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ import com.badlogic.gdx.graphics.Texture;
|
|||||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
import com.badlogic.gdx.graphics.g2d.Batch;
|
||||||
import com.badlogic.gdx.graphics.g2d.ParticleEffect;
|
import com.badlogic.gdx.graphics.g2d.ParticleEffect;
|
||||||
import com.badlogic.gdx.math.Rectangle;
|
import com.badlogic.gdx.math.Rectangle;
|
||||||
|
import com.badlogic.gdx.math.Vector3;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
|
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
|
||||||
|
|
||||||
@ -20,10 +21,12 @@ public class PolyJetEntity extends Actor implements Entity {
|
|||||||
private ParticleEffect teleportCloak;
|
private ParticleEffect teleportCloak;
|
||||||
private Rectangle hitbox;
|
private Rectangle hitbox;
|
||||||
|
|
||||||
public boolean moveLeft, moveRight, moveUp, moveDown, teleporting;
|
public boolean moveLeft, moveRight, moveUp, moveDown, teleporting, accelerate;
|
||||||
|
private float speed, accel;
|
||||||
private float rate;
|
private float rate;
|
||||||
public PolyJetEntity(AssetManager assets, float rate, String jet) {
|
public PolyJetEntity(AssetManager assets, float speed, float accel, String jet) {
|
||||||
this.rate = rate;
|
this.speed = speed;
|
||||||
|
this.accel = accel;
|
||||||
setSize(1.5f, 1.5f);
|
setSize(1.5f, 1.5f);
|
||||||
setPosition(Polyjet.GAME_AREA_WIDTH/2 - getWidth()/2, -4f);
|
setPosition(Polyjet.GAME_AREA_WIDTH/2 - getWidth()/2, -4f);
|
||||||
|
|
||||||
@ -47,6 +50,12 @@ public class PolyJetEntity extends Actor implements Entity {
|
|||||||
|
|
||||||
|
|
||||||
//Movement!
|
//Movement!
|
||||||
|
if (accelerate) {
|
||||||
|
rate = speed + accel;
|
||||||
|
} else {
|
||||||
|
rate = speed;
|
||||||
|
}
|
||||||
|
|
||||||
if (moveLeft && !moveRight) {
|
if (moveLeft && !moveRight) {
|
||||||
moveBy(-(rate*delta), 0);
|
moveBy(-(rate*delta), 0);
|
||||||
}
|
}
|
||||||
|
@ -56,8 +56,10 @@ public class Pellet extends Actor implements Entity, Poolable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collided(Entity entity) {
|
public void collided(Entity entity) {
|
||||||
if (entity.getEntityType() == Entities.LASER) {
|
switch (entity.getEntityType()) {
|
||||||
|
default:
|
||||||
dead = true;
|
dead = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ public class GamePlayArea extends Stage {
|
|||||||
public GamePlayArea(AssetManager assetManager) {
|
public GamePlayArea(AssetManager assetManager) {
|
||||||
super(new FitViewport(Polyjet.GAME_AREA_WIDTH, Polyjet.GAME_AREA_HEIGHT));
|
super(new FitViewport(Polyjet.GAME_AREA_WIDTH, Polyjet.GAME_AREA_HEIGHT));
|
||||||
|
|
||||||
polyjet = new PolyJetEntity(assetManager, 48f, "standard");
|
polyjet = new PolyJetEntity(assetManager, 25f, 25f, "standard");
|
||||||
|
|
||||||
shapes = new ShapeRenderer();
|
shapes = new ShapeRenderer();
|
||||||
shapes.setProjectionMatrix(getCamera().combined);
|
shapes.setProjectionMatrix(getCamera().combined);
|
||||||
@ -92,6 +92,10 @@ public class GamePlayArea extends Stage {
|
|||||||
if (keycode == KeyMap.down) {
|
if (keycode == KeyMap.down) {
|
||||||
polyjet.moveDown = true;
|
polyjet.moveDown = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (keycode == KeyMap.accelerate) {
|
||||||
|
polyjet.accelerate = true;
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,6 +113,11 @@ public class GamePlayArea extends Stage {
|
|||||||
if (keycode == KeyMap.down) {
|
if (keycode == KeyMap.down) {
|
||||||
polyjet.moveDown = false;
|
polyjet.moveDown = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (keycode == KeyMap.accelerate) {
|
||||||
|
polyjet.accelerate = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (keycode == KeyMap.shoot) {
|
if (keycode == KeyMap.shoot) {
|
||||||
Laser laser = (Laser) entityController.retrieveEntity(Entities.LASER);
|
Laser laser = (Laser) entityController.retrieveEntity(Entities.LASER);
|
||||||
laser.init(polyjet.getX() + (polyjet.getWidth()-laser.getWidth())/2f, polyjet.getY() + polyjet.getHeight()+0.25f, 30f);
|
laser.init(polyjet.getX() + (polyjet.getWidth()-laser.getWidth())/2f, polyjet.getY() + polyjet.getHeight()+0.25f, 30f);
|
||||||
|
Loading…
Reference in New Issue
Block a user