用C语言开发NES游戏(CC65)04、完整的背景
粘贴到CSDN格式没调,想看格式好的点下面
https://happysoul.github.io/nes/nesdoug/
制作一张全屏显示的背景图
(备注:这里的RLE是作者将图片变成NES可以识别加载的贴图,这么搞太难翻译了。。。)
NES Screen Tool
http://www.romhacking.net/utilities/802/
本地镜像下载
我写了另一篇关于将BMP文件导入NES Screen Tool的博客页面。这里…
https://nesdoug.com/2017/04/22/nes-screen-tool-bmp-import/
(后面我再花时间翻译了放在这篇文章最后,BMP变贴图)
rl3.chr),并且我已将我的NES屏幕工具(.nss)文件保存为压缩的rle文件,“Nametable / Save Nametable和Attributes / RLE打包为C头.h”。现在我们可以将它导入C代码,并将其打印到后台。
完整名称表是1024字节。我们不能在屏幕打开的情况下执行此操作,因此将其关闭,然后设置起始地址,并调用rle函数。
ppu_off();
vram_adr(NAMETABLE_A);
vram_unrle(Girl3);
ppu_on_all();
到目前为止,我忘了提到调色板。我不得不改变它以使它成为棕色阴影。我稍后会更详细地讨论这个问题。pal_bg() 设置背景的调色板。
https://github.com/nesdoug/04_FullBG/blob/master/fullBG.c
https://github.com/nesdoug/04_FullBG
通过neslib我们可以很容易改变屏幕的亮度,你可以使用pal_bright(),数值范围 0-8 (对应 黑-白)4是正常
我借用了Shiru的“Chase”游戏中的一个功能,这功能很简单实用。
pal_fade_to(0,4); // 黑色渐变到正常色
pal_fade_to(4,0); // 从正常色渐变到黑色
如果你运行fade.nes文件,你会看到它在无限循环中淡入淡出。淡入淡出可用于过渡,例如从标题到游戏,或从一个级别到另一个级别。
https://github.com/nesdoug/05_Fade/blob/master/fade.c
https://github.com/nesdoug/05_Fade
NES屏幕工具BMP导入
最新版本的NES Screen Tool改进了BMP导入功能。我打算试一试。BMP必须是16色或256色。我认为16色效果更好。
我在互联网上找到了这张图片。我将图像缩小为256×240。
使用GIMP,我调节了饱和度,让他不会失真。
我第一次尝试是将背景变暗,然后转换为NES颜色(我之前使用NES调色板制作了一个自定义调色板)。然后,图像/模式/索引,并选择NES调色板。然后我的图像/模式/ RBG。然后我图像/模式/索引,优化到16色。这是我们的......
然后,我导入了NES Screen Tool,只检查了“失真”。这就是我得到的。
嗯,效果很差,那就重来一次,调整分辨率大小到 256x240,锐化处理,背景调黑。
图像/模式/灰度,然后是图像/模式/ RGB。然后我选择了铅笔工具(或画笔),并将其模式更改为“颜色”并选择了橙色,然后像双色调一样重新着色灰色图像。(我也再次调整了水平)。
现在...图像/模式/索引,选择NES调色板。图像/模式/ RGB。图像/模式/索引,针对4色进行了优化。图像/模式/ RGB。图像/模式/索引,针对16色优化。(如果你有最终的16种颜色,NES Screen Tool似乎会做得更好)。
这就是GIMP中最终版本的样子。让我们再次从NES Screen Tool导入BMP(仅检查'失真')......(我在NES Screen Tool中修改了一些图块)。
好多了。
下次我要将它作为背景导入,压缩为RLE文件。
用C语言开发NES游戏(CC65)04、完整的背景相关推荐
- 用C语言开发NES游戏(CC65) 前言
作者网站更新日期 2018年9月 翻译日期从2018年11月底开始逐步翻译,基于浏览器的翻译,重要地方逐句对比原和译文,有时候会加入些个人见解,让文字变得能像是句人话. 作者github地址: htt ...
- 用C语言开发NES游戏(CC65) 简介
粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/ 简介: 作者nesdoug,作者重写了他的代码并发布到了github https://gi ...
- 用C语言开发NES游戏(CC65)15、音乐
粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 我前段时间写了一篇关于NES Audio文章. https://nesdo ...
- 用C语言开发NES游戏(CC65)21、完成一个游戏
粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 我要做的第一件事是标题屏幕.这部分快速搞定,毕竟只是为了展示一下.我用 N ...
- 用C语言开发NES游戏(CC65)06、精灵
粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 什么是精灵?精灵是一种可以在整个屏幕上自由移动的贴图.精灵通常是8×8,但 ...
- 用C语言开发NES游戏(CC65)14、游戏平台
粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 我们要做的是向右滚动显示. 游戏吸引人的地方在哪里呢?重力. 我们需要16 ...
- 用C语言开发NES游戏(CC65)11、Metatiles
粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 什么是metatile,对于贴图来说这是个特殊的词.在我的工程里有2x2的 ...
- 用C语言开发NES游戏(CC65)03、VRAM缓冲区
粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 我写了一些支持函数来填充VRAM缓冲区. 我使用了一些后台场景的代码,在c ...
- 聊聊在博客园写博客的这两年《Unity 3D脚本编程:使用C#语言开发跨平台游戏》正式出版...
版本状态: 2016.9 第一次印刷 (2016.11 输出到台湾) 2017.1 第二次印刷 2017.5 第三次印刷 2017.5 电子书上线:Unity 3D脚本编程--使用C#语言开发跨平台游 ...
最新文章
- 业务工作流平台设计(九)
- Java关于equals()方法和“==”逻辑运算符的区别简介
- java图像处理之拉普拉斯锐化和一阶微分梯度锐化
- 逃跑吧少年服务器临时维护中,逃跑吧少年—逃跑吧少年5月30日更新 主动技能解锁...
- 163邮箱有传真服务器,网易企业邮箱邮件传真功能使用说明
- USACO section1.3 Barn Repair 修理牛棚(贪心)
- Installing OwnCloud 9 on Debian 8
- Kanban VS Scrum:哪个是最好的敏捷项目管理框架
- 征服 Redis + Jedis + Spring (一)—— 配置常规操作(GET SET DEL)
- 2 snippets vue 修改配置_教你发布vue+.netCore项目到服务器
- 积分与坐标变换(极坐标)
- php生成图片不显示,php绘图不显示图片怎么办
- 离散傅里叶变换MATLAB实现
- 读《自己动手写操作系统》(于渊著)第一节
- Softlink Hardlink
- 2020年最好用的几个PHP开发工具推荐
- 最小二乘法、加权最小二乘法——直线拟合
- python+playwright 学习-17.模拟手机浏览器测试
- 论文:A Deep Hashing Technique for Remote Sensing Image-Sound Retrieval
- 如何在linux上使用QQ(在终端上使用qq) mojo-qq
热门文章
- 基于51单片机超声波的停车场车位管理系统proteus仿真原理图PCB
- Linux的ipv6不监听端口,netstat查看服务端口监听在ipv6但是通过ipv4地址可正常访问...
- unity 使用姿态传感器制作互动项目--太极平衡桩
- 半小时学会什么是分布式一致性算法——Paxos
- gitee:实现其他仓库代码持续同步更新到自己仓库
- android版微信什么时候更新版本的,微信6.6版本安卓系统更新时间
- 2022年P气瓶充装培训试题及答案
- Java项目—健身房管理系统(附源码+文档)
- 短视频直播源码 语音直播原生APP源码
- 【SqlServer-函数】