mirror of
https://github.com/Noratrieb/Java2DGame.git
synced 2026-01-14 22:15:01 +01:00
moved lots of code around
This commit is contained in:
parent
3566916125
commit
adb8e185fb
21 changed files with 230 additions and 108 deletions
|
|
@ -35,8 +35,8 @@ public class BattleShip extends GameObject {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void update(Master master) {
|
||||
turrets.forEach((turret -> turret.update(master)));
|
||||
public void update() {
|
||||
turrets.forEach(Turret::update);
|
||||
}
|
||||
|
||||
public void addTurret(Turret turret){
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public class Shell extends GameObject {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void update(Master master) {
|
||||
public void update() {
|
||||
position.add(velocity);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package objects.ships;
|
||||
|
||||
import core.Coords;
|
||||
import core.Master;
|
||||
import core.math.Vector2D;
|
||||
import core.physics.Collidable;
|
||||
|
|
@ -26,11 +27,11 @@ public class Submarine extends GameObject implements Collidable {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void update(Master master) {
|
||||
public void update() {
|
||||
Point mouse = master.getMouseLocation();
|
||||
Vector2D relPos = getMapCoordsFromWorld(new Vector2D(mouse.x, mouse.y));
|
||||
Vector2D relPos = Coords.getMapCoordsFromWorld(new Vector2D(mouse.x, mouse.y));
|
||||
Vector2D centerRelPos = new Vector2D(relPos.x - size.x/2, relPos.y - size.y/2);
|
||||
moveTo(centerRelPos, master);
|
||||
moveTo(centerRelPos);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -45,26 +45,25 @@ public class Turret extends GameObject {
|
|||
public void draw(Graphics2D g2d, int w, Master master) {
|
||||
h = w / 16 * 9;
|
||||
g2d.setPaint(mainColor);
|
||||
int xAbs = battleShip.getWorldCoordsFromLocal(position.x, true);
|
||||
int yAbs = battleShip.getWorldCoordsFromLocal(position.y, false);
|
||||
int sizeAbs = battleShip.getWorldCoordsFromLocalSize(size.x, true);
|
||||
int xCenterAbs = xAbs + sizeAbs / 2;
|
||||
int yCenterAbs = yAbs + sizeAbs / 2;
|
||||
Vector2D abs = battleShip.getWorldCoordsFromLocal(position);
|
||||
int sizeAbs = (int) battleShip.getWorldCoordsFromLocalSize(size).x;
|
||||
int xCenterAbs = (int) (abs.x + sizeAbs / 2);
|
||||
int yCenterAbs = (int) (abs.y + sizeAbs / 2);
|
||||
|
||||
g2d.fillOval(xAbs, yAbs, sizeAbs, sizeAbs);
|
||||
g2d.fillOval((int) abs.x, (int) abs.y, (int) sizeAbs, (int) sizeAbs);
|
||||
|
||||
g2d.setStroke(new BasicStroke(battleShip.getWorldCoordsFromLocalSize(10, true), BasicStroke.CAP_BUTT,
|
||||
g2d.setStroke(new BasicStroke((int) battleShip.getWorldCoordsFromLocalSize(new Vector2D(10, 0)).x, BasicStroke.CAP_BUTT,
|
||||
BasicStroke.JOIN_BEVEL));
|
||||
|
||||
//BARRELS---------------------------------------
|
||||
|
||||
g2d.setPaint(Color.BLACK);
|
||||
int barrelSpacing = sizeAbs / (barrelAmount + 1);
|
||||
int barrelSpacing = (int) (sizeAbs / (barrelAmount + 1));
|
||||
g2d.rotate(rotation, xCenterAbs, yCenterAbs);
|
||||
|
||||
for (int i = 0; i < barrelAmount; i++) {
|
||||
int barrelX = xAbs + (i + 1) * barrelSpacing;
|
||||
int frontPosY = yAbs - sizeAbs / 2;
|
||||
int barrelX = (int) (abs.x + (i + 1) * barrelSpacing);
|
||||
int frontPosY = (int) (abs.y - sizeAbs / 2);
|
||||
g2d.drawLine(barrelX, yCenterAbs, barrelX, frontPosY);
|
||||
|
||||
if (lastShot + SHOT_EFFECT_TIME > System.currentTimeMillis()) {
|
||||
|
|
@ -79,13 +78,12 @@ public class Turret extends GameObject {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void update(Master master) {
|
||||
public void update() {
|
||||
|
||||
int xAbs = battleShip.getWorldCoordsFromLocal(position.x, true);
|
||||
int yAbs = battleShip.getWorldCoordsFromLocal(position.y, false);
|
||||
int sizeAbs = battleShip.getWorldCoordsFromLocalSize(size.x, true);
|
||||
int xCenterAbs = xAbs + sizeAbs / 2;
|
||||
int yCenterAbs = yAbs + sizeAbs / 2;
|
||||
Vector2D abs = battleShip.getWorldCoordsFromLocal(position);
|
||||
int sizeAbs = (int) battleShip.getWorldCoordsFromLocalSize(size).x;
|
||||
int xCenterAbs = (int) (abs.x + sizeAbs / 2);
|
||||
int yCenterAbs = (int) (abs.y + sizeAbs / 2);
|
||||
|
||||
Point msLoc = master.getMouseLocation();
|
||||
double targetRotation = -Math.atan2(xCenterAbs - msLoc.x, yCenterAbs - msLoc.y);
|
||||
|
|
@ -93,11 +91,11 @@ public class Turret extends GameObject {
|
|||
|
||||
rotation = ExMath.angleLerp(rotation, targetRotation, ROTATION_SPEED);
|
||||
|
||||
int barrelSpacing = sizeAbs / (barrelAmount + 1);
|
||||
int barrelSpacing = (int) (sizeAbs / (barrelAmount + 1));
|
||||
|
||||
for (int i = 0; i < barrelAmount; i++) {
|
||||
int barrelX = xAbs + (i + 1) * barrelSpacing;
|
||||
int frontPosY = yAbs - sizeAbs / 2;
|
||||
int barrelX = (int) (abs.x + (i + 1) * barrelSpacing);
|
||||
int frontPosY = (int) (abs.y - sizeAbs / 2);
|
||||
|
||||
if (master.isMousePressed()) {
|
||||
lastShot = System.currentTimeMillis();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue