简单的程序代码游戏(代码是如何变成运行的程序的)
本文目录
代码是如何变成运行的程序的
你这么理解吧,讲通俗点,最早的电脑是没有图形的,也是单纯拿来计算的。你要用汇编语言去告诉cpu你想做什么,后来世界首富老比做了windows系统,有图形了,你只需要点点鼠标就行了,所以他就成首富了。操作系统封装好各种功能,让你的图形操作通过内存自动转成cpu能读懂的汇编语言和01两个数字,cpu反馈给你的就是屏幕显示的一切和结果。
在此基础上,也是在操作系统的基础上就有了很多各种开发语言,他们的出现都是为了简化开发难度,也是像操作系统一样封装好了各种功能,让你只需要写几句简单的代码就能去实现功能。
你打开一个游戏,游戏的代码就会告诉cpu会从硬盘的哪里调取游戏的资源显示,人物的各种数值保存在内存的哪个位置,你选择了怪物,最终还是通过内存告诉cpu,我选择了位于内存地址的哪个数值,显示给你的就是你选择了他而不是你选择了他。
这样说不专业,但你能更好的理解运行机制和原理,为什么计算机高手都是玩内存和汇编的,那是最底层的,说一堆专业术语你也不能能马上理解。
nes格式小游戏一般只有百十k大小,而游戏的内容却不少,还有好多配乐,是怎么做到的
这个问题还是非常有难度的,FC游戏对容量的控制是非常精确的,通常一款游戏也就几十KB大小,游戏中的“图形”自然不是以“图片”的方式制作的。下面就来讲解一下原理,希望大家不会被绕晕。
画面分割
卡通块与图形字库
调色板
- 音乐与音效
画面分割
组成FC游戏中画面的最小单位是卡通块,FC游戏的画面是用一个个卡通块(cell)拼出来的。每个网格就是一个cell,每个cell为8X8的点阵,与一个字符同样大小。
《超级马里奥兄弟》中,马里奥在吃红蘑菇之前为即由4个cell组成,当吃了红蘑菇之后身体长大一倍,变为由16个cell组成。
一个问号图形也是由4个cell组合拼成的(砖也是),通常将4个cell组成一个元素成为block。
卡通块与图形字库
cell有一个图形字库称为CHR,这个库的大小是16X16的,一次最多可定义256个cell,序号依次为0-255。游戏中的所有cell都是从CHR库中调用出来的,因此游戏中的所有画面的cell其实都是重复使用的,图片容量就被限定在这16X16=256的CHR之中。
调色板
调色板是用来给卡通块上色的,FC一共可以用53种颜色,调色盘从这53种颜色里选取3种颜色,“透明”也算一种颜色(此时显示背景的底色),一共4种颜色。这4种颜色用来给方块上色。这就意味着每个方块只能有4种色彩。
用《恶魔城》的背景举例,将其分割为32x30 = 960 个cell,2x2 = 4个cell组成一个block
CHR没有颜色或位置,以图块的形式定义
cell的定义操作极其简单,系统规定一个cell由连续的四个内存单元定义,第一个内存单元指定cell显示的Y坐标、第二个为cell在CHR字库中的序号、第三个为cell的显示状态(配色组合、左右翻转、上下颠倒以及显示于那个卡通页面),第四个为cell显示的X坐标。编程中可任意指定定义卡通的内存页面。
调色板被分成几部分,但是通过在不同区域之间共享颜色可以巧妙地隐藏这一事实。大门中间的红色与周围的墙壁融为一体,黑色背景模糊了城堡和大门之间的界限。
循环音乐
为了节约容量,很多FC游戏都会使用循环音乐。有一些游戏为了保证更好的音乐和音效,还会单独使用音乐音效增强元器件,在卡带的硬件层面做处理。
2个方波(主旋律),1个三角波(低音),1个噪音波(高音),1个PCM(语音)
运动中的角色
FC红白机会将运动中的角色储存于显卡的特定内置储存区域,这样我们看到的角色会以一个整体的结构进行移动,就像上面提到的小马里奥是4个cell拼成的一个整体。角色的显示是覆盖背景的,无论背景如何设置,在角色覆盖到上层时会被设置成角色的颜色。
滚屏
FC之前的游戏,在滚屏操作时几乎要覆写整个画面,性价比非常低。FC内部PPU可以预先储存超过显示部分的内容,玩家在触发滚屏操作后,可以移动游戏镜头。
FC显示画面与声音原理非常复杂,大家就简单了解一下吧,任天堂的黑科技太多了
本文相关文章:
低代码开发平台(低代码平台有何优势,如何改变现有软件开发模式,帮助企业实现商业价值)
2024年7月29日 03:15
网站流量统计代码(网站流量统计代码怎么放可以放几个网站的流量统计代码)
2024年7月24日 07:10
微信自建小程序(用微信小程序自建商城在今后的使用过程中会遇到哪些问题)
2024年7月24日 04:11
navigationbar(微信小程序 navigationbar怎么配置)
2024年7月23日 04:27
免费个人小程序模板(有免费的可视化小程序开发后台,你会选择自己做吗)
2024年7月21日 21:27
更多文章:
如何评价郭敬明在《演员请就位》中的表现?《巅峰对决》撞衫《演员请就位》,表演类综艺急着成“宇宙”吗
2023年9月25日 14:20
超级兔子人联机版(超级兔子人手机版怎么联机 教你如何正确操作)
2024年5月23日 05:59
office 2007下载(官方正版原版 office 2007 下载地址 及密钥)
2024年6月8日 11:55
生僻却美到爆的单字(生僻却美到爆的单字 生僻却美到爆的单字有哪些)
2024年7月21日 22:26
U大师和U盘启动大师是一个软件吗?大白菜、老毛桃、u 大师、U启动等等,一键制作U盘启动盘哪家强,有没有大神推荐一下
2024年6月25日 13:11
320k音乐下载(H.O.T 的320k音乐哪里有下载要全的,不是一张专辑)
2024年6月16日 02:26
qq空间网页版电脑登录界面(qq空间网页版怎么登录 一起来看看)
2024年6月29日 15:29
手机酷我音乐盒官方免费下载(请问如何在手机上安装酷我音乐盒)
2024年6月29日 05:16