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

2017/11/6

spawning an actor with a button

ZigZagNinja ZigZagNinja

2017/11/6

#
so i have a single player game right now, but i want to make it a multiplayer game if the users wants. So i want an actor to spawn if you press the number '2' on your keyboard once. How can i do this? Thanks in advance.
danpost danpost

2017/11/6

#
ZigZagNinja wrote...
i want an actor to spawn if you press the number '2' on your keyboard once. How can i do this?
In your subclass of World, add a boolean field that will tell you whether the key was pressed or not:
// instance field
private boolean twoSelected; // default value is 'false'

// in act method
if ( ! twoSelected && Greenfoot.isKeyDown("2") )
{
    twoSelected = true;
    // spawn second player here
}
ZigZagNinja ZigZagNinja

2017/11/6

#
i got an error: cannot find symbol - variable neuerSpieler2 heres my code: import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) public class GameWorld extends World { private int steinSpawn = 180; private int steinSpawnTimer = steinSpawn; private int muenzenSpawn = 180; private int muenzenSpawnTimer = muenzenSpawn; private int PowerUpSpawn = 2000; private int PowerUpSpawnTimer = PowerUpSpawn; private boolean Spieler2erst = false; public GameWorld() { super(600, 400, 2); setBackground("grass.jpg"); //neuen Spieler erstellen Spieler neuerSpieler = new Spieler(); //neuen Spieler in die Welt setzen addObject(neuerSpieler, 10, 200); //neuen Spieler2 erstellen Spieler2 neuerSpieler2 = new Spieler2(); //spielt die Hintergrundmusik //Greenfoot.playSound("Musik.wav"); } public void act() { // jede paar sekunden wird zufällig irgendwo ein Stein erstellt zufälligSteineErstellen(); // jede paar sekunden wird zufällig irgendwo eine Muenze erstellt zufälligMuenzenErstellen(); //jede paar sekunden wird zufällig irgendwo ein PowerUp erstellt zufälligPowerUpsErstellen(); //zweiten Spieler erstellen wenn 2 gedrückt wird if (!Spieler2erst && Greenfoot.isKeyDown("2") ) { Spieler2erst = true; addObject(neuerSpieler2, 10, 200); } //showText(muenzenSpawnTimer, 10, 10); } //es wird jede 5 Sekunden ein neuer Stein hinzugefügt public void zufälligSteineErstellen() { if (--steinSpawnTimer==0) { steinSpawnTimer = steinSpawn; addObject(new Stein(), Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); } } public void zufälligMuenzenErstellen() { if (--muenzenSpawnTimer==0) { muenzenSpawnTimer = muenzenSpawn; addObject(new Muenze(), Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); } } public void zufälligPowerUpsErstellen() { if (--PowerUpSpawnTimer==0) { PowerUpSpawnTimer = PowerUpSpawn; addObject(new PowerUp(), Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); } } }
ZigZagNinja ZigZagNinja

2017/11/6

#
dont worry i figured it out thanks for the help
You need to login to post a reply.