Hallo erstmal,
leider reicht mein Wissen bei folgendem Problem nicht aus.
Ich möchte einen Fisch von links oben nach rechts oben dann nach unten und danach nach unten links schwimmen lassen.
Ich komme soweit, dass er bis nach rechts unten schwimmt, und dann stehen bleibt.
Es sieht so bei mir aus:
import acm.graphics.*; import acm.program.*;
import acm.util.*;
===============================================
public class Animation {
// Objekte:
GImage hintenA, hintenB;
GCanvas canvas;
Fisch f1,f2;
public Animation () {
hintenA = new GImage("aquarium.jpg");
canvas = Fenster.getCanvas();
canvas.add(hintenA);
f1 = new Fisch(0,0);
f2 = new Fisch(450,250);
//f1.drehL();
//f1.pause(500);
for (int loop=0;loop<4;loop++) {
f1.setPause(0);
for (int i=0;i<50;i++) {
f1.move(); f2.move();
}
f1.drehL(); //Richtung nach unten ändern
//f2.drehR();
for (int loop1=0;loop<2;loop++) {
f1.move();
f1.drehL();
}
for (int loop2=0;loop<-50;loop++) {
f1.move();
f1.drehL();
=====================================================
import acm.graphics.*; import acm.program.*;
import acm.util.*;
======================================================
public class Fisch {
// Hier Datentyp und Name fuer Zustandsvariablen und "Bestandteile"
GImage zBild; // Aussehen des Fisches
boolean zSchautR; // true (wahr) oder false (falsch)
int z_ms; // Pausendauer in ms
// Konstruktor Maus() erzeugt Maeuse:
public Fisch (double pX, double pY) { // p wie Parameter = Input
zBild = new GImage("fisch2.gif");
zSchautR = true;
z_ms = 10;
Fenster.setze(zBild, pX,pY);
}
public void drehL() { // Methode mit void = kein Output
zBild.setImage("fisch2.gif");
zSchautR = false;
zBild.pause(z_ms);
}
public void drehR() {
zBild.setImage("fisch2.gif");
zSchautR = true;
zBild.pause(z_ms);
}
public void setPause(int p_ms) { // Wartezeit in ms
z_ms = p_ms;
}
public void move() { // springt um 8 Pixel
if (zSchautR) zBild.move(18,0); oder 0 gerade
else zBild.move(0,10);
zBild.pause(z_ms);
}
public void move1() {
if (zSchautR) zBild.move(0,10);
else zBild.move(20,1);
//zBild.pause(z_ms);
}
}
Danke im Voraus