everytime i update my score board
java.lang.NullPointerException
at newWorld.updateScoreboard(newWorld.java:18)
shows up
here is the code in blast class
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
public class blast extends main
{
boolean removeMe = false;
public blast (int dir)
{
//setRotation(dir);
}
public void act()
{
move(10);
//checkForTarget();
checkEdge();
removeIt();
addSmoke();
Actor fl;
fl=getOneIntersectingObject(flyingMonster.class);//returns objects that intersects that object
if(fl!=null)
{
newWorld world = (newWorld)getWorld();//gets the Sea world
world.updateScoreboard();
getWorld().removeObject(fl);//removes the bullet from the world
removeIt();
}
}
public void checkEdge()
{
if(isAtEdge ()){
removeMe = true;
}
}
public void removeIt()
{
if(removeMe == true){
getWorld().removeObject(this);
}
}
public void addSmoke(){
if (getWorld() == null) return;
getWorld().addObject(new smoke(),getX(),getY());
}
}
and here is my world class
import greenfoot.*;
public class newWorld extends World
{
private Scoreboard sb ;
private Health hl;
GifImage stars = new GifImage("23.gif");
GreenfootSound alpha = new GreenfootSound("Street_Fighter_Alpha_3_OST_Th.mp3");
public newWorld()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(1000, 400, 1);
prepare();
alpha.play();
}
public void updateScoreboard ()
{
sb.changeScore();
}
public void act(){
setBackground(stars.getCurrentImage());
if(Greenfoot.getRandomNumber(100)<1){
flyingMonster fy = new flyingMonster();
addObject(fy,1000,Greenfoot.getRandomNumber(400));
}
}
public void healthMinus()
{
hl.changeScore();
}
private void prepare()
{
magneto magneto2 = new magneto();
addObject(magneto2,54,225);
fire fire24 = new fire();
addObject(fire24,960,0);
}
}
also I have two worlds
plz hlp

