Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package shooter.entities;
- import java.awt.Color;
- import java.awt.Graphics2D;
- import java.awt.geom.AffineTransform;
- import shooter.gfx.ObjectSpriteManager;
- import shooter.input.MouseInputHandler;
- import shooter.main.Game;
- public class Gegner extends GameObject{
- private AffineTransform backup, trans;
- public Gegner(double x, double y, double health, ObjectSpriteManager om, MouseInputHandler mi, Game game) {
- super(x, y, health, om, mi, game);
- this.health = health;
- }
- public void tick() {
- x += velX;
- y += velY;
- col.setFrame(x, y, ObjectSpriteManager.SIZE, ObjectSpriteManager.SIZE);
- rotation();
- }
- private void rotation() {
- double deltaX = x - game.getHandler().getPlayer().getX();
- double deltaY = y - game.getHandler().getPlayer().getY();
- rotation = Math.toDegrees(Math.atan2(deltaY, deltaX));
- }
- public void render(Graphics2D g2d) {
- backup = g2d.getTransform();
- trans = new AffineTransform();
- // Apply rotation
- trans.rotate(Math.toRadians(rotation + 270), x + ObjectSpriteManager.SIZE / 2, y + ObjectSpriteManager.SIZE / 2);
- g2d.transform(trans);
- g2d.drawImage(om.player, (int) x, (int) y, ObjectSpriteManager.SIZE, ObjectSpriteManager.SIZE, null);
- // Restore previous transform
- g2d.setTransform(backup);
- // show collision boxes
- g2d.setColor(Color.RED);
- g2d.draw(col);
- g2d.draw(col.getBounds2D());
- g2d.setColor(Color.WHITE);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement