手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏06加载游戏背景

游戏背景 Background.java package world; import sprite.Sprite; import java.awt.*; public class Background { private Sprite _background; private Sprite _cloud; public Background(){ _background = new Sprite("res/background/level1.png"); _cloud = new Sprite("res/background/level1_back.png"); _background.translate(-900, 120); _cloud.translate(0, 120); _background.scale(2, 2); _cloud.scale(2, 2); } public void update(Graphics2D g){ _cloud.show(g); _background.show(g); } } level1.png(1026*256)放大2倍后(2052*512) level1_back.png(513*240)放大2倍后(1026*480) 我们的屏幕大小是:(640*480) DisplayMode(640, 480, 32, 0) 我们先来看一下水平方向(x轴方向) _background.translate(-900, 120); level1.png被向左平移了900个像素,还剩下2052-900=1150个像素,大约是640的2倍。 _cloud.translate(0, 120); level1_back.png被直接放到了x=0的点,还剩下1026像素,大约是640的2倍。 level1.png和level1_back.png覆盖在了一起,构成了最终的背景效果。 将来随着player的向右移动,背景会向左平移,造成一种player向前走的效果。 将来,我们会另外准备2张背景图片,交替反复的贴到屏幕上。 再来看一下垂直方向(y轴方向) _background.translate(-900, 120); _cloud.translate(0, 120); 屏幕高度是480,背景图片高度240,我们先移动到偏移120的位置,然后放大2倍,垂直方向上正好填满整个屏幕。 主窗体加载背景 public GameApp(){ try{ background = new Background(); ...... } private void _gameLoop(){ background.update(g); ...... } 如果您迷路了,请参考完整源码: 项目源码 ​​项目源码​​

尚美源码坑位教程提供精美的网站源码教程,小程序、公众号、H5、APP、游戏、直播、支付、区块链、商城、影音、小说等源码信息大全。
尚美源码教程库 » 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏06加载游戏背景
赞助VIP 享更多特权,立即登录下载海量资源
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡