上次我们已经让坦克动起来了,现在我们准备给游戏添加背景和前景。
上次讨论了用sprite实现动画,其实背景和前景也是用sprite实现的,我们准备一幅背景和一幅前景图片:
注意背景可以不透明,但前景一定要处理成透明的png格式(以上均为jpg截图,请自行用photoshop等转换)。
修改tankgamecanvas如下:
public class tankgamecanvas extends gamecanvas implements runnable {
...
private sprite spriteplayer1;
private sprite spritebackground;
private sprite spriteforeground;
public tankgamecanvas() {
...
try {
image image = image.createimage("/res/img/player1.png");
spriteplayer1 = new sprite(image, 16, 16);
spritebackground = new sprite(image.createimage("/res/img/bg.png"));
spriteforeground = new sprite(image.createimage("/res/img/fg.png"));
}
...
}
...
}
然后在drawscreen()方法中依次绘制出sprite:
private void drawscreen(graphics g) {
spritebackground.paint(g);
spriteplayer1.setposition(currentx, currenty);
spriteplayer1.paint(g);
spriteforeground.paint(g);
flushgraphics();
}
ok,模拟器中效果如下:
下一步我们准备先编写游戏内核,包括地图数据的表示,碰撞处理,定时器的实现,简单的ai等等,希望大家继续关注并支持!
:) :~ *o* ^_^


闽公网安备 35060202000074号