第七十二章 捲轴移动实现成功(2 / 3)

投票推荐 加入书签 留言反馈

  sta $2006
  ldy #$00
  sty $2006
  当选0页时,a寄存器的值可取h20~h23;当选1页时,a寄存器的值可取h24~h27。
  但y寄存器的值必须为0,若y+0,整幅画面要向左上角位移与y值对应的点数。
  通过对$2000单元的背景显示页面选择开关置值,选择欲显示內容的背景页面。
  对$2005单元置入当前欲显示內容位於显示窗口的x、y坐际。
  通过控制延时时间,控制显示画面的纵向高度。
  通过对以上五个步骤的灵活组合,可以实现显示画面任意块分裂位移。】
  (以上內容出自《任天堂游戏编程技术探秘》中捲轴滚动一节。)
  “厉害。”
  小林彻长出了一口气。
  任天堂果然是专业的,说到底,他也只是个爱好者,不是正牌程式设计师,有些事情还处於知其然而不知其所以然的阶段。但小林彻现在也在日常攻读健太郎的心得手册,看到这一串字符以后,脑袋里也渐渐勾勒出了对应的画面。
  “所以这就是任天堂实现画面变化的技巧!”
  小林彻忽然一拍脑门:“我知道咱们错在哪了。”
  中裕司一愣:“我还没看懂呢!”
  “不,不用看懂,只是任天堂的编程给我们指引了正確的道路,你听好,我们实现捲轴的方式不是错误的,错误的问题在於我们没有將画面合理拆分,而是想著用同一张大图进行位移,但这对於游戏机的机能而言是不可能的,所以我们应该换一种方式。”
  小林彻扯过白板,飞快写了几笔,在形如坐標系一般的画面上写出一行文字。
  0f丨0e
  1f丨1e
  “將背景分层,用这样的方式,移动一部分作为前景的素材,从而实现画面滚动的效果。这样,就能够解决我们的问题了!”
  其实更详细的代码小林彻是看不到的,那些东西被封装在程序里,凭藉手头上的设备也不足以拆解和反编译,但现在只是通过对应的针脚来推测对应的功能,这一点却不难。
  拜此所赐,小林彻现在可算是搞懂他弄错了什么。
  中裕司那边在沉吟片刻过后,也终於反应过来。
  “是这样……怪不得!”
  二人一转身便再度投入到程序当中。
  不过这次,作法和之前有所不同。
  不是试图將画面拆分,而是將画面分层。依旧还是將完整的画面划分为00,01两个部分,但是这两个部分,现在则细分为前景和后景,从而实现设想中的效果。
  转眼,就是傍晚。
  阿特拉斯四人,將简陋的素材和测试用的程序连接完毕,另一端联通在电视上。 ↑返回顶部↑

章节目录