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

2021/6/21

Why can't my object change the Image?

Turbo_Thorsten Turbo_Thorsten

2021/6/21

#
Code below. The pictures are different
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class Enemy here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Tumor extends Actor
{
    /**
     * Act - do whatever the Enemy wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    int a;
    int b = 1;
    int timer = 0;
    static boolean badtumor = false;
    private GreenfootImage GoodTumor;
    private GreenfootImage BadTumor;
    public void act() 
    {
        GoodTumor = new GreenfootImage("GoodTumor.png");
        BadTumor = new GreenfootImage("BadTumor.png");
        if (Tutorial.tutorial == false)
        {
        if (MyWorld.freezeTimer > 0) return;
        else
        {
        if( isAtEdge() ){
            turn(17);
        }
        if( isTouching(Border.class) ){
            turn(17);
        }
        if (Greenfoot.getRandomNumber(50) <1){
            a = Greenfoot.getRandomNumber(91)-45;
            turn(a);
        }
        move(b);
        }
        if (timer > 0)
        {
         timer--; 
         if(timer == 0)
         {
          badtumor = !badtumor;
          timer = timer + 200;
         }
        }
        if (badtumor == true)
        {
           setImage(BadTumor); 
        }
        else
        {
           setImage(GoodTumor); 
        }
        lookForPlayer();
       }
    }  
    public void lookForPlayer() {
        if (MyWorld.life == 0)
        {
         removeTouching (Player.class);  
        }
        if (isTouching(Player.class))
        {
         if(MyWorld.life > 0)
         {
             MyWorld.life--;
             getWorld().removeObject(this);
        }
        }
    }
}
danpost danpost

2021/6/21

#
The condition on line 42 is always false. The timer field value is initialized at zero and never changes.
Turbo_Thorsten Turbo_Thorsten

2021/6/21

#
Ah yes I'm always missing sth thank you
You need to login to post a reply.