mirror of
https://github.com/jneug/zeichenmaschine.git
synced 2026-04-14 14:43:33 +02:00
73 lines
1.3 KiB
Java
73 lines
1.3 KiB
Java
import schule.ngb.zm.*;
|
|
import schule.ngb.zm.shapes.Picture;
|
|
import schule.ngb.zm.shapes.Shape;
|
|
|
|
import java.awt.Graphics2D;
|
|
import java.awt.geom.AffineTransform;
|
|
|
|
public class Fish extends Shape implements Updatable {
|
|
|
|
private int speed;
|
|
|
|
private Picture img;
|
|
|
|
public Fish() {
|
|
randomize();
|
|
}
|
|
|
|
public void randomize() {
|
|
int i = random(1, 7);
|
|
speed = random(-2, 2);
|
|
img = new Picture("fish" + i);
|
|
img.setAnchor(NORTHWEST);
|
|
img.scale(random(0.8, 1.0));
|
|
img.tint(randomNiceColor());
|
|
//img.scale(0.5);
|
|
if( speed < 0 ) {
|
|
img.flip(LEFT);
|
|
}
|
|
img.moveTo(random(10, width-img.getWidth()), random(30, height-120));
|
|
}
|
|
|
|
@Override
|
|
public boolean isActive() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public void update( double delta ) {
|
|
img.move(speed, .5 * sin(tick / (speed * 10.0)));
|
|
|
|
if( img.getX() <= 0 || img.getX()+img.getWidth() >= 800 ) {
|
|
speed *= -1;
|
|
img.flip(LEFT);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void draw( Graphics2D graphics, AffineTransform transform ) {
|
|
img.draw(graphics, transform);
|
|
}
|
|
|
|
@Override
|
|
public double getWidth() {
|
|
return img.getWidth();
|
|
}
|
|
|
|
@Override
|
|
public double getHeight() {
|
|
return img.getHeight();
|
|
}
|
|
|
|
@Override
|
|
public Shape copy() {
|
|
return img.copy();
|
|
}
|
|
|
|
@Override
|
|
public java.awt.Shape getShape() {
|
|
return img.getShape();
|
|
}
|
|
|
|
}
|