fixe building animations
This commit is contained in:
parent
bdd9d6c746
commit
ae32a0a298
4 changed files with 18 additions and 14 deletions
|
|
@ -70,8 +70,8 @@ public class Vector2f implements Comparable{
|
|||
}
|
||||
|
||||
public void sub(float sx,float sy){
|
||||
x += sx;
|
||||
y += sy;
|
||||
x -= sx;
|
||||
y -= sy;
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
|
|
|
|||
|
|
@ -28,18 +28,19 @@ public class EndGameState extends GameState{
|
|||
case VICTORY:
|
||||
Sprite v = new Sprite("Victory","data/victory.png");
|
||||
v.setLocation(new Vector3f(
|
||||
(LWJGLGameWindow.getWidth()/2),
|
||||
(LWJGLGameWindow.getHeight()/2),0.0f));
|
||||
(LWJGLGameWindow.getWidth()/2+LWJGLGameWindow.getCamera().getLocation().getX()),
|
||||
(LWJGLGameWindow.getHeight()/2+LWJGLGameWindow.getCamera().getLocation().getY()),0.0f));
|
||||
fade.setEntity(v);
|
||||
break;
|
||||
case DEFEAT:
|
||||
Sprite d = new Sprite("Defeat","data/defeat.png");
|
||||
d.setLocation(new Vector3f(
|
||||
(LWJGLGameWindow.getWidth()/2),
|
||||
(LWJGLGameWindow.getHeight()/2),0.0f));
|
||||
(LWJGLGameWindow.getWidth()/2+LWJGLGameWindow.getCamera().getLocation().getX()),
|
||||
(LWJGLGameWindow.getHeight()/2+LWJGLGameWindow.getCamera().getLocation().getY()),0.0f));
|
||||
fade.setEntity(d);
|
||||
break;
|
||||
}
|
||||
}
|
||||
InGameState.input(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import ei.game.player.HumanPlayer;
|
|||
import ei.game.player.PlayerHandler;
|
||||
import ei.game.scene.Map;
|
||||
import ei.game.scene.units.APU;
|
||||
import ei.game.scene.units.Bomber;
|
||||
import ei.game.scene.units.Tank;
|
||||
import ei.game.scene.weapons.WeaponHandler;
|
||||
|
||||
|
|
@ -98,7 +97,7 @@ public class InGameState extends GameState{
|
|||
return map;
|
||||
}
|
||||
|
||||
public void input(boolean b){
|
||||
public static void input(boolean b){
|
||||
mouse.setEnabled(b);
|
||||
keyboard.setEnabled(b);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,11 +32,15 @@ public abstract class Building extends GameEntity{
|
|||
super(l, p);
|
||||
this.size = size;
|
||||
buildQueue = new LinkedList<Unit>();
|
||||
unitNode = new Node("UnitNode");
|
||||
unitNode = new Node("BuildingNode");
|
||||
unitNode.setLocation(Map.getPixelByPos(pos.getX(), pos.getY(), this.size));
|
||||
setPos(pos.getX(), pos.getY(), this.size);
|
||||
moveFrom = Map.getPixelByPos(oldPos.getX()+size-2, oldPos.getY()+size-1);
|
||||
moveFrom = Map.getPixelByPos(oldPos.getX()+size-2, oldPos.getY()+size-2);
|
||||
moveTo = Map.getPixelByPos( oldPos.getX()+size-2, oldPos.getY()+size);
|
||||
|
||||
moveFrom.sub(unitNode.getLocation().getX()-20,unitNode.getLocation().getY());
|
||||
moveTo.sub(unitNode.getLocation().getX(),unitNode.getLocation().getY());
|
||||
|
||||
}
|
||||
|
||||
public void setSelected(Player p,boolean b, boolean playSound) {
|
||||
|
|
@ -172,11 +176,11 @@ public abstract class Building extends GameEntity{
|
|||
buildTime++;
|
||||
if(buildTime >= buildQueue.peek().getBuildTime()){
|
||||
if(!unitNode.contains(buildQueue.peek().getNode())){
|
||||
System.out.println("lol1"+buildQueue.peek().getNode());
|
||||
unitNode.add(buildQueue.peek().getNode(),unitNode.size()/2);
|
||||
buildQueue.peek().getNode().setLocation(moveFrom);
|
||||
}
|
||||
Vector2i temp = Map.getPosByPixel(moveTo.getX(), moveTo.getY());
|
||||
Vector2i temp = Map.getPosByPixel(moveTo.getX()+unitNode.getLocation().getX(), moveTo.getY()+unitNode.getLocation().getY());
|
||||
System.out.println("lol "+temp+" "+moveTo.getX());
|
||||
if(!InGameState.getMap().isPosEmpty(temp.getX(),temp.getY())){
|
||||
InGameState.getMap().getPos(temp.getX(),temp.getY()).move(false, oldPos.getX()+(size/2), oldPos.getY()-(size/2));
|
||||
}
|
||||
|
|
@ -194,7 +198,7 @@ public abstract class Building extends GameEntity{
|
|||
if(moveTo.getY() < buildQueue.peek().getNode().getLocation().getY()) {
|
||||
buildQueue.peek().getNode().getLocation().add(0f, -buildQueue.peek().getVelocity(), 0f);
|
||||
}
|
||||
System.out.println("lol2"+buildQueue.peek().getNode().getLocation());
|
||||
|
||||
if(Math.abs(moveTo.getX() - buildQueue.peek().getNode().getLocation().getX()) < buildQueue.peek().getVelocity()+1
|
||||
&& Math.abs(moveTo.getY() - buildQueue.peek().getNode().getLocation().getY())< buildQueue.peek().getVelocity()+1 ){
|
||||
buildTime = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue