|
@ -42,21 +42,41 @@ public class EgoController extends ObjectController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* moves ego up by {@link SpaceInvadersLevel#EGOSPEED}. |
|
|
|
|
|
* @param kc KeyEvent to process |
|
|
|
|
|
* @param ego the ego object |
|
|
|
|
|
*/ |
|
|
public void onUp(KeyEvent kc, GameObject ego) { |
|
|
public void onUp(KeyEvent kc, GameObject ego) { |
|
|
ego.setVX(0.0); |
|
|
ego.setVX(0.0); |
|
|
ego.setVY(-SpaceInvadersLevel.EGOSPEED); |
|
|
ego.setVY(-SpaceInvadersLevel.EGOSPEED); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* moves ego down by {@link SpaceInvadersLevel#EGOSPEED}. |
|
|
|
|
|
* @param kc KeyEvent to process |
|
|
|
|
|
* @param ego the ego object |
|
|
|
|
|
*/ |
|
|
public void onDown(KeyEvent kc, GameObject ego) { |
|
|
public void onDown(KeyEvent kc, GameObject ego) { |
|
|
ego.setVX(0.0); |
|
|
ego.setVX(0.0); |
|
|
ego.setVY(SpaceInvadersLevel.EGOSPEED); |
|
|
ego.setVY(SpaceInvadersLevel.EGOSPEED); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* moves ego left by {@link SpaceInvadersLevel#EGOSPEED}. |
|
|
|
|
|
* @param kc KeyEvent to process |
|
|
|
|
|
* @param ego the ego object |
|
|
|
|
|
*/ |
|
|
public void onLeft(KeyEvent kc, GameObject ego) { |
|
|
public void onLeft(KeyEvent kc, GameObject ego) { |
|
|
ego.setVY(0.0); |
|
|
ego.setVY(0.0); |
|
|
ego.setVX(-SpaceInvadersLevel.EGOSPEED); |
|
|
ego.setVX(-SpaceInvadersLevel.EGOSPEED); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* moves ego right by {@link SpaceInvadersLevel#EGOSPEED}. |
|
|
|
|
|
* @param kc KeyEvent to process |
|
|
|
|
|
* @param ego the ego object |
|
|
|
|
|
*/ |
|
|
public void onRight(KeyEvent kc, GameObject ego) { |
|
|
public void onRight(KeyEvent kc, GameObject ego) { |
|
|
ego.setVY(0.0); |
|
|
ego.setVY(0.0); |
|
|
ego.setVX(SpaceInvadersLevel.EGOSPEED); |
|
|
ego.setVX(SpaceInvadersLevel.EGOSPEED); |
|
@ -72,7 +92,7 @@ public class EgoController extends ObjectController { |
|
|
|
|
|
|
|
|
/** checks the position and respects level boundaries and own radius or width/height set on constructor. |
|
|
/** checks the position and respects level boundaries and own radius or width/height set on constructor. |
|
|
* |
|
|
* |
|
|
* @return true if the object reached the boundaries of the level, false otherwise |
|
|
|
|
|
|
|
|
* @return true if the object reached the boundaries of the level, false otherwise. |
|
|
*/ |
|
|
*/ |
|
|
public boolean stopObject() { |
|
|
public boolean stopObject() { |
|
|
// check whether ego object is at level boundaries |
|
|
// check whether ego object is at level boundaries |
|
@ -93,7 +113,7 @@ public class EgoController extends ObjectController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** behavior for shooting on key space |
|
|
|
|
|
|
|
|
/** behavior for shooting on key space. Creates a new shot using {#link SimpleShotController} with a {@link RectObject}. |
|
|
* |
|
|
* |
|
|
* @param e KeyEvent of the space key |
|
|
* @param e KeyEvent of the space key |
|
|
* @param ego EgoObject instance (used to determine position of shot object's start) |
|
|
* @param ego EgoObject instance (used to determine position of shot object's start) |
|
@ -119,7 +139,7 @@ public class EgoController extends ObjectController { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* updates position based on key events (mouse currently ignored) |
|
|
|
|
|
|
|
|
* updates position based on key events (mouse currently ignored). |
|
|
*/ |
|
|
*/ |
|
|
public void updateObject() { |
|
|
public void updateObject() { |
|
|
|
|
|
|
|
@ -141,9 +161,9 @@ public class EgoController extends ObjectController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Generelle Idee: Wenn eine Taste gedrückt wird wird sie gespeichert. wenn die zuvor |
|
|
|
|
|
|
|
|
* Generelle Idee: Wenn eine Taste gedrückt wird wird sie gespeichert. wenn die zuvor |
|
|
* gespeicherte Taste wieder losgelassen wird stoppt das Ego-Objekt. Falls vor dem Loslassen |
|
|
* gespeicherte Taste wieder losgelassen wird stoppt das Ego-Objekt. Falls vor dem Loslassen |
|
|
* eine andere Taste gedrückt wird, wird diese gespeichert und die alte vergessen. Dh das |
|
|
|
|
|
|
|
|
* eine andere Taste gedrückt wird, wird diese gespeichert und die alte vergessen. Dh das |
|
|
* loslassen der alten Taste stoppt das Objekt nicht. Spezialfall: space, das loslassen von |
|
|
* loslassen der alten Taste stoppt das Objekt nicht. Spezialfall: space, das loslassen von |
|
|
* space stoppt das Objekt nicht! |
|
|
* space stoppt das Objekt nicht! |
|
|
*/ |
|
|
*/ |
|
@ -154,8 +174,8 @@ public class EgoController extends ObjectController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Nur eine losgelassene Taste die auch vorher gedrückt wurde stoppt das Objekt. Eine |
|
|
|
|
|
* losgelassene Taste die nicht vorher gedrückt wurde bzw vergessen wurde stoppt das Objekt |
|
|
|
|
|
|
|
|
* Nur eine losgelassene Taste die auch vorher gedrückt wurde stoppt das Objekt. Eine |
|
|
|
|
|
* losgelassene Taste die nicht vorher gedrückt wurde bzw vergessen wurde stoppt das Objekt |
|
|
* nicht |
|
|
* nicht |
|
|
*/ |
|
|
*/ |
|
|
if (released == true) { |
|
|
if (released == true) { |
|
|