游戏背景

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(1026256)放大2倍后(2052512)
level1_back.png(513240)放大2倍后(1026480)
我们的屏幕大小是:(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);......
}

如果您迷路了,请参考完整源码:

项目源码

项目源码

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

  1. 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏07游戏输入管理

    项目源码 项目源码 输入管理 package managers;import java.awt.event.KeyEvent; import java.awt.event.KeyListener;pu ...

  2. 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏01游戏窗口

    项目源码 项目源码 游戏配置信息类 Config.java 没什么解释的. package config;public class Config {public final static String ...

  3. 无聊的时候怎么办?教你用java写一个简单挂机打金币小游戏吧!

    无聊的时候怎么办?教你用java写一个超简单挂机打金币小游戏吧! Java写一个挂机打金币程序 1.Java的面向对象 2.基础打金的分析 3. Robot介绍以及Demo演示 4.挂机打金程序如何去 ...

  4. 手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统(附源码+视频教程(第9节))...

    一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座, ...

  5. 手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统(附源码+视频教程(第6节))...

    一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座, ...

  6. 手把手教你用Java实现一个“网易云音乐”

    话说前阵子与三枪内衣 推出联名内裤的网易云音乐, 又有热门话题了! 想必大家也已经猜出来 据说是因违反相关规定被下架30天, 在各大安卓应用商店搜索显示 "服务调整"暂不提供下载, ...

  7. 只需6步,教你从零开发一个签到小程序

    摘要:针对于具备瞬时流量.业务场景比较简单的小程序,开发者借助FunctionGraph,可以方便快捷的搭建一个健壮的小程序后台. 本文分享自华为云社区<智慧校园想搞好,FunctionGrap ...

  8. vue 手机端答题页面_从0开始,手把手教你用Vue开发一个答题App

    项目演示 项目源码 配套讲解视频 教程说明 本教程适合对Vue基础知识有一点了解,但不懂得综合运用,还未曾使用Vue从头开发过一个小型App的读者.本教程不对所有的Vue知识点进行讲解,而是手把手一步 ...

  9. vue 手机端答题页面_从0开始,手把手教你用Vue开发一个答题App01之项目创建及答题设置页面开发...

    项目演示 项目源码 配套讲解视频 教程说明 本教程适合对Vue基础知识有一点了解,但不懂得综合运用,还未曾使用Vue从头开发过一个小型App的读者.本教程不对所有的Vue知识点进行讲解,而是手把手一步 ...

最新文章

  1. JSON数据和Java对象的相互转换
  2. DL之DNN:自定义MultiLayerNet(5*100+ReLU+SGD/Momentum/AdaGrad/Adam四种最优化)对MNIST数据集训练进而比较不同方法的性能
  3. 3分钟配置好静态路由
  4. Win10修改防火墙入站规则
  5. 产品认知:真正厉害的产品经理,都是“数据思维”的高手
  6. 【转】面试:一个单例模式,足以把你秒成渣
  7. 像阿超那样,花20分钟写一个能自动生成小心四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算。 和同学们比较一下各自程序的功能,实现方法的异同,等等...
  8. php 可视化neo4j,开源图形数据库Neo4j使用 php开发
  9. CUDA C中核函数(kernel)的编写及调用
  10. 蓝桥杯 ALGO-101 算法训练 图形显示
  11. 三个元素的矩阵乘除法
  12. 惠普服务器u盘做win7系统,惠普星14-CE U盘装系统win7教程
  13. MAC 安装windows
  14. 串口编程DCB结构体参数配置详细说明
  15. Yolo-v1~v3学习关键点整理
  16. Matlab散点图进阶——矩阵气泡图
  17. Microsoft Windows 环境中NLS_LANG的正确设置 (文档 ID 1577370.1)
  18. 为什么使用使用transform来代替top_MYSQL 使用基础 - 这么用就对了
  19. 大前端相关-nodejs到vue
  20. webstorm -- 2017 激活破解

热门文章

  1. 2021年茶艺师(中级)及茶艺师(中级)模拟考试
  2. pytorch转caffe步骤
  3. BST的概念,以及查找,插入,删除算法
  4. 【022】Vue+Springboot+mysql汽车销售系统课设(含源码、数据库、运行教程、实验报告)
  5. 【git】warning: adding embedded git repository问题
  6. clistctrl获取列高 mfc_获取CListCtrl所有列的信息
  7. 手写数字识别_MNIST数据集
  8. k7root锁,k7智能锁
  9. ps命令的使用(linux)
  10. C语言中标签的作用范围