This site requires JavaScript, please enable it in your browser!
Greenfoot back
Cocky
Cocky wrote ...

2012/8/27

SPower, bitte helfen

1
2
Cocky Cocky

2012/8/27

#
Hallo, ich suche SPower, können sie mir helfen ein Szenario zu erstellen? Mit freundlichen grüßen, Cocky
SPower SPower

2012/8/27

#
If you'd talk English, sure I could
Cocky Cocky

2012/8/27

#
I from Germany
SPower SPower

2012/8/27

#
Ok, maybe I can understand what you mean. What do you need help for?
Cocky Cocky

2012/8/27

#
ich will ein Spiel erstellen wo man mit einer Rakete durch den Weltraum fliegt und Asteroiden abschießt
Cocky Cocky

2012/8/27

#
ich bin bis jetzt so weit: public void act() { checkKeyPress(); } public void checkKeyPress() { if(Greenfoot.isKeyDown("up")) { move(4); } if(Greenfoot.isKeyDown("down")) { move(-4); } if(Greenfoot.isKeyDown("right")) { turn(3); } if(Greenfoot.isKeyDown("left")) { turn(-3); } }
Cocky Cocky

2012/8/27

#
ich bin bis jetzt so weit: public void act() { checkKeyPress(); } public void checkKeyPress() { if(Greenfoot.isKeyDown("up")) { move(4); } if(Greenfoot.isKeyDown("down")) { move(-4); } if(Greenfoot.isKeyDown("right")) { turn(3); } if(Greenfoot.isKeyDown("left")) { turn(-3); } } in Rakete Klasse
SPower SPower

2012/8/27

#
Maybe this helps: http://www.greenfoot.org/scenarios/192 And also, why can nobody else help you?
Cocky Cocky

2012/8/27

#
in der Klasse Hintergrund bin ich so weit:[Disallowed URL]
Cocky Cocky

2012/8/27

#
danke,aber ich lerne nichts daraus
SPower SPower

2012/8/27

#
Ok, but why can only I help you?
trash1000 trash1000

2012/8/27

#
Du hast in der Raketenklasse bereits die Abfragen implementiert, damit sich die Rakete überhaupt bewegen kann. Du musst dir zunächst eine Taste aussuchen, die dann bewirkt, dass die Rakte schießt, z. B. die Leertaste. Drückt der Spieler also die Leertaste, schießt die Rakete. Am einfachsten ist es nun, wenn beim Drücken der Taste ein neues Objekt eingefügt wird (z. B. von der Klasse Projektil). Dieses Objekt bewegt sich von alleine in die Richtung, in die die Rakete zu dem Zeitpunkt des Schusses gezeigt hat. Danach muss noch das eigentliche Treffen des Asteroiden programmiert werden. Das geschieht dann in der Projektilklasse. Aber zunächst solltest du versuchen, das Abfeuern eines Projektils einzubauen. P.S.: Nur eine Person einer großen Community zu fragen, die noch dazu nicht deine Sprache spricht und du nicht ihre sprechen willst/kannst... das wird dich nicht weit bringen. Außerdem solltest du deine Probleme etwas deutlicher erklären. P.P.S.: For those not speaking German it's just a small explanation how he could bring his rocket to fire on asteroids.
Cocky Cocky

2012/8/29

#
danke trash1000, aber ich weiß nicht wie ich die Klasse Projektil zum bewegen bringen soll in den die Rakete zeigt.
trash1000 trash1000

2012/8/29

#
Mein Vorschlag wäre, die Richtung im Konstruktor des Projektils zu übergeben. Zum Beispiel in etwa auf diese Weise:
public Projektil(int pRichtung) {
    setRotation(pRichtung);
}
Damit sich das Projektil von alleine in die Richtung bewegt, gehst du in die Act der Klasse Projektil:
public void act() {
    move(1) //je höher die Zahl hier, desto schneller bewegt sich das Projektil
}
Das Schießen erfolgt dann ähnlich einfach in der Methode checkKeyPress von der Rakete:
public void checkKeyPress() { 
    if(Greenfoot.isKeyDown("up")) { 
        move(4); 
    } 
    if(Greenfoot.isKeyDown("down")) { 
        move(-4); 
    } 
    if(Greenfoot.isKeyDown("right")) { 
        turn(3); 
    } 
    if(Greenfoot.isKeyDown("left")) { 
        turn(-3); 
    } 
    if(Greenfoot.isKeyDown("space")) { // oder welche Taste auch immer es sein soll
        getWorld().addObject(new Projektil(getRotation), getX(), getY());
    }
}
Jetzt musst du nur noch das Treffen des Asteroiden programmieren (Tipp: http://www.greenfoot.org/files/javadoc/greenfoot/Actor.html#getOneIntersectingObject%28java.lang.Class%29)
Cocky Cocky

2012/8/29

#
viieelen Dank
There are more replies on the next page.
1
2