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

2017/2/22

How to shrink an image using forloop in array

DuckGod DuckGod

2017/2/22

#
how would this work in my mind it seemed to work alot better.
public Egg()
    {
        if(frames[0]==null)
        {
            frames[0] = new GreenfootImage("EggStandStill.png");
            frames[1] = new GreenfootImage("EggMove1.png");
            frames[2] = new GreenfootImage("EggMove2.png");
            frames[3] = new GreenfootImage("EggMove3.png");
            frames[4] = new GreenfootImage("EggMove4.png");
            frames[5] = new GreenfootImage("EggMove5.png");
            frames[6] = new GreenfootImage("EggMove6.png");

            //mirrored frames //just add 16
            frames[0+16] = new GreenfootImage("EggStandStill.png");
            frames[1+16] = new GreenfootImage("EggMove1.png");
            frames[2+16] = new GreenfootImage("EggMove2.png");
            frames[3+16] = new GreenfootImage("EggMove3.png");
            frames[4+16] = new GreenfootImage("EggMove4.png");
            frames[5+16] = new GreenfootImage("EggMove5.png");
            frames[6+16] = new GreenfootImage("EggMove6.png");
            for(int i = 0; i<6+17;i++)
            {
                frames[i].scale(25,50);
            }
}
}
Super_Hippo Super_Hippo

2017/2/22

#
Try to change line 23 to this:
if (frames[i] != null) frames[i].scale(25,50);
If not, you will get a nullpointer exception when i is 7. Other than that, it should work (although the "mirrored images" seem to be the original unmirrored images) if you have a line like this:
private GreenfootImage[] frames = new GreenfootImage[23];
You need to login to post a reply.