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

2019/11/21

Objects moving from the right to te left

SemDeBakkero SemDeBakkero

2019/11/21

#
I don't know why there is error in class. Could you tell me what I did wrong. This is my code:
public class meteor extends Actor
{
    public meteor()
     {
       setImage("meteor.png"); //invoegen foto
       getImage().scale(80, 80); //grootte foto
    }
    public void act() 
     {
        move();
    }  
    public void move()
    {
        int randomSpeed;
        randomSpeed = Greenfoot.getRandomNumber(5) + 1; //random snelheid instellen (met een maximale)
        int speed = -randomSpeed; //snelheid is de randomSpeed maar dan min -> hij gaat dus naar links
        int x = getX() + speed;  //variable x instellen op snelheid 
        int y = getY(); //variable y instellen op getY()
        if (x <= 0) //als x kleiner of gelijk is aan nul
        {  
            x = getWorld().getWidth() - speed; //dan is x de rechts min de snelheid
            y = Greenfoot.getRandomNumber(getWorld().getHeight()); //en y is een random waarde -> ze spawner overal qua hoogte
        }  
        addObject(new meteor(),x, y); //de meteor toevoegen
    } 
    
}
Super_Hippo Super_Hippo

2019/11/22

#
Change line 24 to:
setLocation(x, y);
Or replace the whole move method with the following:
setLocation(getX()-1-Greenfoot.getRandomNumber(5), getY());
if (getX()<=0) setLocation(getWorld().getWidth(), Greenfoot.getRandomNumber(getWorld().getHeight()));
danpost danpost

2019/11/22

#
The error on line 24 is because addObject is not an Actor class method. It should have been preceded by getWorld(). .
SemDeBakkero SemDeBakkero

2019/11/22

#
Aha, I didn't know that. Thanks guys
You need to login to post a reply.