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

2017/4/2

creating an animated image

AAA355 AAA355

2017/4/2

#
I have been trying to create an image of a spinning coin for quite some time now. it doesn't say that there is any error in the code and I have looked around online but can't see any problems with the code. the code looks like:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
 
/**
 * Write a description of class MoneyBag here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class MoneyBag extends money
{
     
    private GreenfootImage image1 = new GreenfootImage ("coin1.png");
    private GreenfootImage image2 = new GreenfootImage ("coin2.png");
    private GreenfootImage image3 = new GreenfootImage ("coin3.png");
    private GreenfootImage image4 = new GreenfootImage ("coin4.png");
    private GreenfootImage image5 = new GreenfootImage ("coin5.png");
    private GreenfootImage image6 = new GreenfootImage ("coin6.png");
    private GreenfootImage image7 = new GreenfootImage ("coin7.png");
    private GreenfootImage image8 = new GreenfootImage ("coin8.png");
    private GreenfootImage image9 = new GreenfootImage ("coin9.png");
    private GreenfootImage image10 = new GreenfootImage ("coin10.png");
     
     
    /**
     * Act - do whatever the MoneyBag wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act()
    {
         
    }  
    public void animate()
    {
        if ( getImage().equals(image1))
        {
            setImage (image2);
        }
        if ( getImage().equals(image2))
        {
            setImage (image3);
        }
        if ( getImage().equals(image3))
        {
            setImage (image4);
        }
        if ( getImage().equals(image4))
        {
            setImage (image5);
        }
        if ( getImage().equals(image5))
        {
            setImage (image6);
        }
        if ( getImage().equals(image6))
        {
            setImage (image7);
        }
        if ( getImage().equals(image7))
        {
            setImage (image8);
        }
        if ( getImage().equals(image8))
        {
            setImage (image9);
        }
        if ( getImage().equals(image9))
        {
            setImage (image10);
        }
         
        else
        {
            setImage (image1);
             
        }
    }
     
}
iban iban

2017/4/2

#
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Orang here. * * @author (your name) * @version (a version number or a date) */ public class Orang extends Actor { /** * Act - do whatever the Orang wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ GreenfootImage gambar1 = new GreenfootImage("aktor1.png"); GreenfootImage gambar2 = new GreenfootImage("aktor2.png"); GreenfootImage gambar3 = new GreenfootImage("aktor3.png"); public int frame = 1; public int waktu = 0; public void act() { animasi(); } public void animasi() { if (frame == 1) { setImage(gambar1); frame = 2; } else if (frame == 2) { setImage(gambar2); frame = 3; } else if (frame == 3) { setImage(gambar3); frame = 1; } } }
iban iban

2017/4/2

#
try that code and change image. int your public act call again method
AAA355 AAA355

2017/4/2

#
thank you so much, they are spinning now but they spin really fast, is there any way to slow it down?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
 
/**
 * Write a description of class Coin here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class MoneyBag extends money
{
    /**
     * Act - do whatever the Orang wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
     
    GreenfootImage image1 = new GreenfootImage("coin1.png");
    GreenfootImage image2 = new GreenfootImage("coin2.png");
    GreenfootImage image3 = new GreenfootImage("coin3.png");
    GreenfootImage image4 = new GreenfootImage("coin4.png");
    GreenfootImage image5 = new GreenfootImage("coin5.png");
    GreenfootImage image6 = new GreenfootImage("coin6.png");
    GreenfootImage image7 = new GreenfootImage("coin7.png");
    GreenfootImage image8 = new GreenfootImage("coin8.png");
    GreenfootImage image9 = new GreenfootImage("coin9.png");
    GreenfootImage image10 = new GreenfootImage("coin10.png");
    
     
    public int frame = 1;
    public int waktu = 0;
    public void act()
    {
      animasi();
    }   
   
    public void animasi()
    {
         if (frame == 1)
            {
            setImage(image1);
            frame = 2;
            }
         else if (frame == 2)
            {
            setImage(image2);
            frame = 3;
            }
         else if (frame == 3)
            {
            setImage(image3);
            frame = 1;
            }
            else if (frame == 2)
            {
            setImage(image4);
            frame = 3;
            }
         else if (frame == 3)
            {
            setImage(image5);
            frame = 1;
            }
            else if (frame == 2)
            {
            setImage(image6);
            frame = 3;
            }
         else if (frame == 3)
            {
            setImage(image7);
            frame = 1;
            }
            else if (frame == 2)
            {
            setImage(image8);
            frame = 3;
            }
         else if (frame == 3)
            {
            setImage(image9);
            frame = 1;
            }
            
    }
    
}
iban iban

2017/4/2

#
public void animasi() { if (frame == 1) { if (waktu == 5) { setImage(gambar1); frame = 2; waktu = 0; } } else if (frame == 2) { if (waktu == 5) { setImage(gambar2); frame = 3; waktu = 0; } } else if (frame == 3) { if (waktu == 5) { setImage(gambar3); frame = 1; waktu = 0; } }
iban iban

2017/4/2

#
you must add waktu == 5 or any .. and you back the waktu = 0; try that, i think this work :)
iban iban

2017/4/2

#
waktu == 5 or big number this make the animation is slowly
AAA355 AAA355

2017/4/2

#
thanks, it works great.
iban iban

2017/4/2

#
sama-sama :D
You need to login to post a reply.