Ik probeer een spelletje te maken met een bewegend gifje als doelwit. Dit heb ik proberen te doen met een BufferedImage maar de animatie flikkert nog steeds , hetzelfde als zonder BufferedImage zeg maar,
de volgende code heb ik nu , maar wat klopt hier niet aan ?
dit is niet alles maar een deel van de code
de volgende code heb ik nu , maar wat klopt hier niet aan ?
dit is niet alles maar een deel van de code
code:
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
| public class LTarget extends Applet implements Runnable, KeyListener {
static int i=0;
static boolean back = false; //forward or back?
BufferedImage enemy;
public void run()
{
while(running) //keep animating forever
{
try
{ if(i<200 && !back)
{ if(i==199)
{ back = true;
}
i++;
repaint();
thr.sleep(10);
}
else
{
if(i==0)
{
back = false;
}
i--;
repaint();
thr.sleep(10);
}
repaint();
} catch(Exception e) {}
}
}
public void paint(Graphics g)
{ clear(g);
Graphics2D g2d = (Graphics2D)g;
enemy = getBufferedImage("enemy.gif",this);
g2d.drawImage(enemy, i, 0, null);
}
public static BufferedImage getBufferedImage(String imageFile, Component c)
{
Image image = c.getToolkit().getImage(imageFile);
waitForImage(image, c);
BufferedImage bufferedImage =
new BufferedImage(image.getWidth(c), image.getHeight(c),
BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = bufferedImage.createGraphics();
g2d.drawImage(image, i, 0, null);
return(bufferedImage);
}
public static boolean waitForImage(Image image, Component c) {
MediaTracker tracker = new MediaTracker(c);
tracker.addImage(image, 0);
try {
tracker.waitForAll();
} catch(InterruptedException ie) {}
return(!tracker.isErrorAny());
} |
A Breakbeat A Day Keeps Religion Away.