mirror of
https://github.com/jneug/zeichenmaschine.git
synced 2026-10-12 01:45:18 +02:00
Viele weitere Beispielprojekt für verschiedene Anwendungen
This commit is contained in:
59
examples/zm_aquarium/Background.java
Normal file
59
examples/zm_aquarium/Background.java
Normal file
@@ -0,0 +1,59 @@
|
||||
|
||||
import schule.ngb.zm.Layer;
|
||||
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Image;
|
||||
|
||||
public class Background extends Layer {
|
||||
|
||||
private static final int TILE_SIZE = 64;
|
||||
|
||||
private int tile_width;
|
||||
|
||||
private Image[] floor, plants;
|
||||
|
||||
private Image water;
|
||||
|
||||
public Background() {
|
||||
super();
|
||||
}
|
||||
|
||||
public Background( int width, int height ) {
|
||||
super(width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSize( int width, int height ) {
|
||||
super.setSize(width, height);
|
||||
generateBackground();
|
||||
}
|
||||
|
||||
public void generateBackground() {
|
||||
tile_width = (int)(ceil(getWidth()/(double)TILE_SIZE));
|
||||
floor = new Image[tile_width];
|
||||
plants = new Image[tile_width];
|
||||
|
||||
for ( int i = 0; i < tile_width; i++ ) {
|
||||
floor[i] = loadImage("tiles/floor"+random(1,8)+".png");
|
||||
if( random(1,10) < 4 ) {
|
||||
plants[i] = loadImage("tiles/plant"+random(1,14)+".png");
|
||||
}
|
||||
}
|
||||
|
||||
water = loadImage("tiles/water.png");
|
||||
|
||||
for ( int i = 0; i < getHeight(); i += TILE_SIZE ) {
|
||||
for ( int j = 0; j < getWidth(); j += TILE_SIZE ) {
|
||||
drawing.drawImage(water, j, i, null);
|
||||
}
|
||||
}
|
||||
|
||||
for ( int i = 0; i < tile_width; i++ ) {
|
||||
if( plants[i] != null ) {
|
||||
drawing.drawImage(plants[i], i*TILE_SIZE, getHeight() - (2*TILE_SIZE) + 10,TILE_SIZE,TILE_SIZE, null);
|
||||
}
|
||||
drawing.drawImage(floor[i], i*TILE_SIZE, getHeight() - TILE_SIZE,TILE_SIZE,TILE_SIZE, null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user