回复:MM GAL 企划中,欢迎大家提建议(禁水)
这样的设计思路如何
程序执行机构 <- 初级解释脚本 <- 宏定义 <- 高级脚本
比如:
==========================================
高级脚本(结构化描述)
SC [desktop(舞台名称),@Desktop(舞台),full(大小),50(透明度),X,Y,W,H(舞台位置)] //舞台设定
IT [plane(道具名称),picture(到据类型),"飞机.PNG"(道具载入),X,Y,W,H(初始定位)] //道具设定(坐标相对于舞台坐标)
TL [10(fps设定),noloop(是否循环),desktop(舞台),(plane)(道具列表)] //时间轴设定
BEGIN
AF [0(处于帧)] //关键帧设置
{
plane.X = <初始位置X坐标>
plane.Y = <初始位置Y坐标>
plane.W = <初始位置W坐标>
plane.H = <初始位置H坐标>
}
AF [100(处于帧)] //关键帧设置
{
plane.X = <结束位置X坐标>
plane.Y = <结束位置Y坐标>
plane.W = <结束位置W坐标>
plane.H = <结束位置H坐标>
}
END //结束时间轴
==========================================
把以上高级脚本经过宏解释器分解为低级脚本操作序列,具体执行了以下过程:
1.载入桌面场景
2.定义舞台边界
3.定义舞台相对坐标与全局坐标的转换
4.设置相关属性(如alpha等)
5.载入文件"飞机.PNG"
7.定义基于"飞机.PNG"的物件对象
8.在舞台上进行物件位置的初始化
9.设定时间线
10.记录关键帧(第0帧)信息
11.执行关键帧(第0帧)信息
12.记录关键帧(第100帧)信息
13.对比上一关键帧(第0帧)与本关键帧(第100帧)信息
14.制定动画向量方法
15.从关键帧(第0帧)到关键帧(第100帧)顺序运行动画向量方法(绘图)
16.结束标记
==========================================
最后把以上由低级脚本描述的过程付诸实际代码执行
当添加了新的底层功能时只需要扩充低级脚本,并根据实用需求增加一些宏代码就行了