39 lines
1 KiB
Java
39 lines
1 KiB
Java
package Sprites;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
|
|
/**
|
|
* Created by sagi on 12/18/15.
|
|
*/
|
|
public class LaserBlast extends Sprite {
|
|
|
|
|
|
public LaserBlast(int x, int y, int w, int h, int acc, String imgName, double angle, int size) {
|
|
super(x, y, w, h, acc, imgName, angle, size);
|
|
|
|
}
|
|
|
|
/**
|
|
* updates sprite location according to movement speed and angle.
|
|
*/
|
|
@Override
|
|
public void update() {
|
|
locX += acceleration * Math.cos(Math.toRadians(angle));
|
|
locY -= acceleration * (-1 * Math.sin(Math.toRadians(angle)));
|
|
outOfScreeFix();
|
|
}
|
|
|
|
/**
|
|
* draw sprite with rotation according to sprite angle
|
|
*/
|
|
@Override
|
|
public void drawSprite(Graphics g, JPanel p) {
|
|
Graphics2D g2d = (Graphics2D)g;
|
|
g2d.rotate(Math.toRadians(angle), locX + (bImage.getWidth()/2), locY + (bImage.getHeight()/2));
|
|
g2d.drawImage(bImage, (int)locX, (int)locY, p);
|
|
g2d.rotate(-1 * Math.toRadians(angle), locX + (bImage.getWidth()/2), locY + (bImage.getHeight()/2));
|
|
|
|
}
|
|
}
|