手把手一步一步教你使用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); ...... } 如果您迷路了,请参考完整源码: 项目源码 ​​项目源码​​

暗黑源码库包揽全网大多数网站源码教程,提供小程序、公众号、APP、H5、商城、支付、游戏、区块链、直播、影音、小说等源码教程,注册会员可免费学习交流。
用户必须遵守《计算机软件保护条例(2013修订)》第十七条:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。鉴于此条例,用户从本平台下载的全部源码(软件)教程仅限学习研究,未经版权归属者授权不得商用,若因商用引起的版权纠纷,一切责任均由使用者自行承担,本平台所属公司及其雇员不承担任何法律责任。
暗黑源码库 » 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏06加载游戏背景
赞助VIP 享更多特权,立即登录下载海量资源
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡