注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

深夜是徘徊在潮湿睫毛上的我的梦以及他的梦

是直到最后都无法放手的一种气息,是我们生命中最后的思念……

 
 
 

日志

 
 

NES游戏《塔魔》的开发日记--第三天(功能设计)  

2014-06-23 01:10:53|  分类: FC教程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
by 维京猎人(Viking Hunter / Fogota)

架构的过程,是一个从抽象开始,细分分类的过程。也叫做自顶而下。

在这个过程中,我忽然想到了一些:
当我们不知道怎么下手的时候,我们就用自顶而下的办法,从抽象开始,走向实现。
当我们想清楚怎么办的时候,立马转向自底而上的办法,构建起来。正好可以接上自顶发明家下的路子。
不能一味的自顶而下,不管抽象多少次都不可能实现的,这是个无穷域。一个时间驳论。
也不能一味的自底而上,不管建多少都不足够,因为缺少蓝图,根本没法构建。
所以两者相附相乘。

所以不用想得太多,只要明白了一些,就快点进入主题,动手写一些设计性的东西。

有人说我想得太简单,实际好复杂。我也认为是好复杂的,但如果只顾着分析复杂的事情。不去动手碰碰钉子,那是办不在成的。

从前我写工具的时候,也想着某些功能和用法是好复杂的,但实现了之后发现,是好简单的,还可以更优化,或换个思路,用更好的办法重写一次。

这可不是抄书上的,而是我刚刚才领悟到的。也不知大家看的书有没有这样讲过。

上次的架构,又重新修改了名字,这就更清楚了。
一层:硬件层
二层:逻辑层
三层:流程层

一:硬件层设计有以下函数:
1 _sreen_scroll:屏幕滚动,输入A寄存器:[D3:上移,D2:下移,D1:左移,D0:右移]。同时约定屏幕地图为1/4的压缩形式。不管游戏画面、菜单选项和密码框,都用这种地图方式。在NMI的后段,即写入背景之后,写入一定量的屏幕缓冲,下次NMI可一同写入背景。
2 _sreen_draw:绘画屏幕,即黑屏,并主动画屏。然后开显示。
3 _read_joypad:读取手柄 ,在NMI读手柄信号,没有用本指令前,一直将信号用“或”收集,连续3秒不用本指令,则消除信号。在使用本指令后输出,并消除信号,等待手柄 信号的下除沿。用一个字节来记录信号。
4 _play:重复播放背景,寄存器A作为曲目,当A>=128。刚为结束播放。
5 _sound:播放一次特效音。寄存器A为序号

二:逻辑层设计有发下函数:
1 Lead_Move: 主角移动。同时滚动屏幕,让主角在中央。如果到达边界,才停止滚动。
2 Actoc_Move:配解移动,包括子弹,不滚屏。
3 Control:可按不同模式控制游戏画面、菜单选项和密码框的移动。
4 Compare:碰撞测试。

三:流程层,没有设计什么。


注:今天研究了好多NSF,即NES音乐的事。让人崩溃的是NSF内部复杂,不同和NSF,内部也有输大不同。后来收到一个工具,这次好办多了。
  评论这张
 
阅读(691)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017