Nachdem ich gestern den ganzen Tag versucht habe einen passenden Timer zu entwickeln und einfach alles fehl geschlagen ist, wollte ich hier wieder um Rat und Hilfe bitten!
Ich versuche einen Timer zu machen der jede Sekunde einen Wert um 1 erhöt.
Und außerdem soll dieser Wert wenn er 10 erreicht wieder auf 0 gesetzt werden.
Es sollte möglichs eine Int sein, damit ich dann an anderen stellen meines skripts sagen kann: jede 3te von 10 Sekunden passiert das und das.
Nur um sicher zu gehen ist hier mein komplettes Skript, liebe Grüße und schonmal vielen dank!
Wobei Zeile 128-145 der Bereich ist, den ich später so umschreibe das hier sachen im Sekundentackt passieren, ich also hier auf die int sekunde zugreifen möchte (der If befehl kommt dann natürlich raus)
Ich versuche einen Timer zu machen der jede Sekunde einen Wert um 1 erhöt.
Und außerdem soll dieser Wert wenn er 10 erreicht wieder auf 0 gesetzt werden.
Es sollte möglichs eine Int sein, damit ich dann an anderen stellen meines skripts sagen kann: jede 3te von 10 Sekunden passiert das und das.
Nur um sicher zu gehen ist hier mein komplettes Skript, liebe Grüße und schonmal vielen dank!
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Toastbrot {
public Toastbrot(){
final JFrame frame = new JFrame("Toastbrot");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationByPlatform(true);
JPanel panel = new KreisPanel();
frame.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == 100 ) {
mund = 3;
} else if (e.getKeyCode() == 99 ) {
mund = 2;
} else if (e.getKeyCode() == 98 ) {
mund = 1;
} else if (e.getKeyCode() == 97 ) {
mund = 0;
} else if (e.getKeyCode() == 101 ) {
auge = 0;
guck = 0;
} else if (e.getKeyCode() == 102 ) {
auge = 1;
guck = 0;
} else if (e.getKeyCode() == 103 ) {
guck = 1;
auge = 2;
} else if (e.getKeyCode() == 104 ) {
auto = 0;
} else if (e.getKeyCode() == 105 ) {
auto = 1;
}
frame.repaint();
}
});
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
int mund = 0;
int auge = 0;
int guck = 0;
int auto = 0;
public static void main(String[] args) {
new Toastbrot();
}
class KreisPanel extends JPanel implements ActionListener {
private static final long serialVersionUID = 1L;
public Dimension getPreferredSize() {
return new Dimension(500, 500);
}
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(new Color( Integer.parseInt( "339933", 16 ) ));
g2d.fillRect(0, 0, this.getWidth(), this.getHeight());
//Toast
int mx = 120;
int my = 170;
int mr = 85;
int Rx = 100;
int Ry = 150;
int Rw = 250;
int Rh = 300;
int ox = 245;
int oy = 85;
int or = 170;
//Augen
int ax = 150;
int ay = 200;
int ab = 50;
int ah = 150;
int bx = 250;
int by = 200;
int bb = 50;
int bh = 150;
//Mund
int nx = 150;
int ny = 360;
int nh = 50;
int nb = 150;
int qx = 150;
int qy = 390;
int qh = 5;
int qb = 150;
int vx = 250;
int vy = 390;
int vh = 25;
int vb = 25;
//ToastDunkel
g2d.setColor(new Color( Integer.parseInt( "FF9900", 16 ) ));
g2d.fillRect(Rx, Ry, Rw, Rh);
g2d.fillOval(ox, oy, or, or);
g2d.fillOval(mx-mr, my-mr, 2*mr, 2*mr);
//ToastHell
g2d.setColor(new Color( Integer.parseInt( "FFCC66", 16 ) ) );
g2d.fillRect(Rx+10, Ry+10, Rw-20, Rh-20);
g2d.fillOval(ox+10, oy+10, or-20, or-20);
g2d.fillOval(mx-mr+10, my-mr+10, 2*mr-20, 2*mr-20);
//AugenWeiß
g2d.setColor(new Color( Integer.parseInt( "FFFFFF", 16 ) ) );
g2d.fillOval(ax, ay, ab, ah);
g2d.fillOval(bx, by, bb, bh);
//"Lebendes" Toastbrot
if (auto==1) {
for(int i=0; i<=10; i=i+1){
if (i==0) {
g2d.setColor(new Color( Integer.parseInt( "FFCC66", 16 ) ) );
g2d.fillOval(ax, ay, ab, ah);
g2d.fillOval(bx, by, bb, bh);
g2d.setColor(new Color( Integer.parseInt( "FF9900", 16 ) ));
g2d.fillRect(ax, ay+100, ab, 5);
g2d.fillRect(bx, by+100, bb, 5);
} else {
g2d.setColor(new Color( Integer.parseInt( "FFFFFF", 16 ) ) );
g2d.fillOval(ax, ay, ab, ah);
g2d.fillOval(bx, by, bb, bh);
}
}
}
//AugenZu
if (guck==0) {
g2d.setColor(new Color( Integer.parseInt( "FFFFFF", 16 ) ) );
g2d.fillOval(ax, ay, ab, ah);
g2d.fillOval(bx, by, bb, bh);
} else if (guck==1) {
g2d.setColor(new Color( Integer.parseInt( "FFCC66", 16 ) ) );
g2d.fillOval(ax, ay, ab, ah);
g2d.fillOval(bx, by, bb, bh);
g2d.setColor(new Color( Integer.parseInt( "FF9900", 16 ) ));
g2d.fillRect(ax, ay+100, ab, 5);
g2d.fillRect(bx, by+100, bb, 5);
}
//AugenSchwarz
if (auge==0) {
g2d.setColor(new Color( Integer.parseInt( "000000", 16 ) ) );
g2d.fillOval(ax+10, ay+50, ab-15, ah-65);
g2d.fillOval(bx+10, by+50, bb-15, bh-65);
} else if (auge==1) {
g2d.setColor(new Color( Integer.parseInt( "000000", 16 ) ) );
g2d.fillOval(ax+5, ay+50, ab-15, ah-65);
g2d.fillOval(bx+5, by+50, bb-15, bh-65);
}else if (auge==2) {
g2d.setColor(new Color( Integer.parseInt( "FFCC66", 16 ) ) );
g2d.fillOval(ax, ay, ab, ah);
g2d.fillOval(bx, by, bb, bh);
g2d.setColor(new Color( Integer.parseInt( "FF9900", 16 ) ));
g2d.fillRect(ax, ay+100, ab, 5);
g2d.fillRect(bx, by+100, bb, 5);
}
//Mund
if (mund==1) {
g2d.setColor(new Color( Integer.parseInt( "000000", 16 ) ) );
g2d.fillOval(nx, ny, nb, nh);
g2d.setColor(new Color( Integer.parseInt( "FFCC66", 16 ) ) );
g2d.fillOval(nx, ny-5, nb, nh);
}
else if (mund==0) {
g2d.setColor(new Color( Integer.parseInt( "000000", 16 ) ) );
g2d.fillOval(nx, ny, nb, nh);
g2d.setColor(new Color( Integer.parseInt( "FFCC66", 16 ) ) );
g2d.fillOval(nx, ny+5, nb, nh);
}
else if (mund==2) {
g2d.setColor(new Color( Integer.parseInt( "000000", 16 ) ) );
g2d.fillRect(qx, qy, qb, qh);
}
else if (mund==3) {
g2d.setColor(new Color( Integer.parseInt( "000000", 16 ) ) );
g2d.fillOval(vx, vy, vb, vh);
}
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
}