自己的理解:
一个游戏是由无数的脚本构成,构成一个脚本链.
从第一个脚本读起走,运行结束,根据链运行下一个脚本.
简单假象脚本的构成:
脚本编号,状态--类型,描述,正文,移动变化规则,结束规则,脚本链--指向下一个脚本编号.
应该还存在判断情况,比如隐藏关卡的出现.可以放在末尾.
根据假象分析游戏做验证:
状态1:
开场介绍
文字介绍故事情节。
文字。
一行一行的出现,按键的话当前也全部显示。
当文字播放完的时候,转入一个状态。
状态2:
对话.
人物的对话.
图片,文字,背景,提示光标.
文字一行一行的出现,按键的话显示下一个对话.
文字播放完的时候,转入下一个状态.
状态3:
选择地图.
在大地图上显示场景的选择.
背景,光标,选择.
根据按键选择不同的地点.
选择完后,转入下一个状态,传入参数.
状态4:
游戏运行中:
状态5:
游戏中断:
状态6:
游戏结束:
状态7:
游戏胜利:
状态3和状态4-7有可能重合,背景是当前关卡.
所以可能不是switch,而是中断.
游戏中,需要结合三大编辑器来用.
脚本编辑最好还是可视化编辑.
实际实验:
ZengcityDemo
private int scriptCur; //当前脚本
private int scriptRes[] ; //脚本数组, =脚本数量*2,第一个数据存储下一个脚本编号,第二个脚本存储下一个脚本所处的状态.
2006-06-22 17:04:02
Views(1261)
Comments
这里我是外行,我有点不当的想法:让脚本链一直这样运行下去,稳定性会有影响?
可不可以用一个小型数据库来存储任务步骤,用一个脚本来负责调度,通过与库的链接来获取任务流程,指导它去激活那个被选中的任务,当任务完结时通过返回的数据和库的单子做比较,判断下一步该做什么...不知道是否可行
小型数据库...
听到这个词头就大,手机,几百K的内存,不够用!
不过可以自己写个类似的调度算法,可以考虑。