Hello, i got a problem. I want to remove an Object after 10 seconds but i dont want to use Greenfoot.delay(10) because it pauses the game.
My Code:
I already tried it like this but it doesnt worked for me :
import greenfoot.*;
public class NPC1 extends NPC
{
public void act()
{
move();
if(Greenfoot.isKeyDown("e"))reden();
}
public void move(){
if(random1()==1){
setLocation(getX()-2, getY());
setRotation(180);
}
if(random1()==2){
setLocation(getX()+2, getY());
setRotation(0);
}
if(random1()==3){
setLocation(getX(), getY()-2);
setRotation(270);
}
if(random1()==4){
setLocation(getX(), getY()+2);
setRotation(90);
}
}
public void reden(){
Text errormsg=new Text();
getWorld().addObject(errormsg, 600, 220);
errormsg.setText("You cannot take coke with a penny");
//getWorld().removeObject(errormsg);
}
private int random1(){
int random1 = Greenfoot.getRandomNumber(150)+1;
return random1;
}
}
import greenfoot.*;
public class NPC1 extends NPC
{
int cooldown = 0;
public void act()
{
move();
cooldown--;
reden();
}
public void move(){
if(random1()==1){
setLocation(getX()-2, getY());
setRotation(180);
}
if(random1()==2){
setLocation(getX()+2, getY());
setRotation(0);
}
if(random1()==3){
setLocation(getX(), getY()-2);
setRotation(270);
}
if(random1()==4){
setLocation(getX(), getY()+2);
setRotation(90);
}
}
public void reden(){
if(Greenfoot.isKeyDown("e")){
Text errormsg=new Text();
getWorld().addObject(errormsg, 600, 220);
errormsg.setText("You cannot take coke with a penny");
cooldown = 70;
if(cooldown<1)getWorld().removeObject(errormsg);
}
}
private int random1(){
int random1 = Greenfoot.getRandomNumber(150)+1;
return random1;
}
}
