前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gameboy游戏开发-背景

Gameboy游戏开发-背景

作者头像
海哥@开发
发布2022-04-06 15:01:44
7120
发布2022-04-06 15:01:44
举报
文章被收录于专栏:海哥聊技术海哥聊技术

前几节课已经把精灵部分讲的很详细了,接下来我们来讲下一个很重要的部分就是背景。首先我来先看一张原理图,在GB中我们共可以使用三个层。分别是最底层的背景层、之前我们一直在讲解的精灵层、和未来来讲解的窗体层。

背景层的实现原理就是在指定的位置显示指定下标的瓦块,默认的背景一个GB屏幕可以展示20x18个瓦块,为了省事我们也有第三方工具,可以下载Gameboy Map Builder (http://www.devrs.com/gb/hmgd/gbmb.html)

给我们的Mario一个奔跑的平台

首先打开我们的GBTD先画出我们的背景里的平地,然后保存为background.gbr。注意做为背景用的瓦块文件下标0的一定要是空白的,下标0的瓦块会做为后续背景的默认瓦块来使用。

接下来打开我们的新工具GBMB,选择File->Map properties把我们的背景大小先设置为20和18,并加载刚刚保存的background.gbr文件,我们在第14行循环的把做好的4个背景瓦块分别添加上去。

接下来我们进行导出操作,选择 File->Export to Standard标签下没有什么特别的选好路径即可,我们在Location Format标签下要新增一个Tile number属性并把Bits设置为8bit,在MapLayout下我们选为按Rows进行排列 在Plane count下选为1 Plane(8 bits)。详细的可以看图

现在我们手里应该有两对背景.c.h文件,分别是gbtd和gbmb产生的。

编译我们的项目

在我们上节课的例子里的main方法中加入如下代码,这里要注意因为上节课我们把ROM已经编译成了CGB的,所以 我们今天加背景的时候也要加上调色方案,否则背景不会显示出来。

代码语言:javascript
复制
    //设置背景数据源
    set_bkg_data(0,23,bg);
    //加载背景数据
    set_bkg_tiles(0,0,marioBgWidth,marioBgHeight,marioBg);
    //加载背景配色方案
    set_bkg_palette(0, 1, bkgpalette);
    //调用显示背景方法
    SHOW_BKG;

make run

下次课程我们来看下如何让背景上每一个块使用不同的配合方案,以及如何让背景移动起来。

源码下载

  • 彩色背景源码 (http://blog.guohai.org/doc-pic/2020-03/gb5.zip)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海哥聊技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 给我们的Mario一个奔跑的平台
  • 编译我们的项目
  • 源码下载
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档