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

2017/2/12

java.lang.NullPointerException error

FunTHX200mc FunTHX200mc

2017/2/12

#
Hi, I'm trying to make a code so I can increase the score when the ball reaches a certain point. but it gives me this error.
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class Minge here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Minge extends Actor
{   
    private int hSpeed = 3, vSpeed = 0;
    /**
     * Act - do whatever the Minge wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        move(5);
        Paleta1 lovitura1 = (Paleta1) getOneIntersectingObject(Paleta1.class);
        Paleta2 lovitura2 = (Paleta2) getOneIntersectingObject(Paleta2.class);
        Jucator2 jucator2 = (Jucator2) getWorld().getObjects(Jucator2.class).get(0);
        Jucator1 jucator1 = (Jucator1) getWorld().getObjects(Jucator1.class).get(0);
        Paleta1 paleta1 = (Paleta1) getWorld().getObjects(Paleta1.class).get(0);
        Paleta2 paleta2 = (Paleta2) getWorld().getObjects(Paleta2.class).get(0);
        if (lovitura1 != null)
        {
        if (paleta1.getRotation()==0)
        turnTowards (jucator2.getX(), jucator2.getY() + Greenfoot.getRandomNumber(200)-50);
        else
        turnTowards (jucator2.getX(), jucator2.getY() - Greenfoot.getRandomNumber(200)-50);
        }
        if (lovitura2 != null)
        {
        if (paleta2.getRotation()==0)
        turnTowards (jucator1.getX(), jucator1.getY() + Greenfoot.getRandomNumber(200)-50);  
        else
        turnTowards (jucator1.getX(), jucator1.getY() - Greenfoot.getRandomNumber(200)-50);
        }
        if (getX()<50){
        getWorld().removeObjects(getWorld().getObjects(Minge.class));
        return;
    }
        if (getX()>750){
        getWorld().removeObjects(getWorld().getObjects(Minge.class));
        lovit1();
        return;
    }
}
    public void lovit1() {
        Teren teren = (Teren) getWorld();
        Scor1 scor1add = teren.getScor1();
        scor1add.addScor1();
        scor1add.updateImage();
    }
}
it said something about line 51 and 45
danpost danpost

2017/2/12

#
Switch lines 44 and 45. You need the actor in the world when you call the 'lovit1' method.
You need to login to post a reply.