![]() |
1
3
NES的做法是使用4个名称表,每个名称表为256x240。当你从屏幕上滚动一个时,相邻的一个就会滚动。要使“worlds”大于512x480,请在屏幕外的位置更新名称表。 一般来说,盒带在ROM中会有一个包含所有级别数据的巨大表,并且会用1或2个RAM变量跟踪整体位置。然后当游戏滚动时,它将更新RAM变量,使用这些变量查找级别数据表,并将新级别数据复制到屏幕外的名称表部分。 所以实际上,您的缓冲区应该是512x480,而您只显示其中的256x240部分。 你看过任何有大滚动世界的NES游戏的反汇编吗?我认为部分拆除的子宫内膜在某处… …是的,在 romhacking.net Metroid disassembly 不是很好的评论,但只要努力一点,就不应该太难弄明白。 Another disassembly 这是更好的评价。 编辑:在上面发布的第二个拆卸中,查看metroidgameengineepage.txt中的“Setuproom”例行程序和“Drawroom”例行程序;标签LEB4D中的例行程序显示了在一种情况下如何更新名称表。还可以查看“getnametable”例程上面的大量注释。一般来说,在整个文档中搜索“名称表”将获得更多信息。 编辑编辑:也在romhacking.net;the memory map for SMB 可能有用。 |
![]() |
2
0
我将建立一个图像控件网格,并从数据库中加载级别,该数据库存储每个图片相对于级别的列和行。一旦代表游戏角色的图像到达屏幕右侧足够远(您必须将其位置存储在一些模块级变量中),您将加载下一列图像(同时将所有其他图像向左移动并删除第一列)。 |
![]() |
Woton Sampaio · 摄像头不工作 7 年前 |
|
user9516512 · 摄影机帧和对象帧 7 年前 |
![]() |
Thrindil · 根据摄像机阵列平滑移动摄像机位置 7 年前 |
![]() |
Michael · 水平摄影机在给定范围内滚动 7 年前 |
![]() |
Philo · Xamarin iOS摄像头和照片 7 年前 |