为了证明小弟最近 不是什么都没干,为了某位网友的呼唤,也为了表白在下确实正艰苦卓绝的构建着 文档及代码, LGame文档及0.2.8版,已决定于9月15日正式发布, 以下是一些相关信息。 LGame-0.2.8 版包结构如下 自 0.2.8 版起, LGame 中新增了 AVGScreen 类
为了证明小弟最近不是什么都没干,为了某位网友的呼唤,也为了表白在下确实正艰苦卓绝的构建着文档及代码,LGame文档及0.2.8版,已决定于9月15日正式发布,以下是一些相关信息。
————————————————————————————————
LGame-0.2.8版包结构如下
自0.2.8版起,LGame中新增了AVGScreen类,以方便用户快速制作AVG类型游戏(当然,H Game也可以的说……),或以此实现比较绚丽的动漫过场以及动漫交互效果(没错,以后作贪食蛇都可以加AVG过场了)。
以下本次更新后将会出现的,LGmae-0.2.8 AVGScreen中默认的脚本命令。
PS:LGame中脚本命令不区分大小写。
脚本命令 |
命令说明 |
Include |
作用: 在当前脚本中载入另外一个脚本的内容,当导入脚本结束时将继续读取当前脚本。 写法: Include res/myscript.txt |
If……else……endif |
作用: 分支判断脚本流程。 写法: if a>b XXXX else if a==b XXXX else XXXX endif |
begin……end |
作用: 此命令用以构造一组脚本,但不立即执行,仅在调用call命令时才能触发此命令内部的脚本。 写法: Begin showMessage Mescolor red Mes 孔曰成仁,孟曰取义。 XXXXX End |
Call |
作用: 此命令用以调用指定的命令段,需要和begin……end命令配合使用。 写法: Call showMessage 此时showMessage命令段将被执行。 |
In……out |
作用: 这是一组从输入到输出的命令,在两组命令之间的字符串数据将被以选择框形式展现给用户。 写法: In A.景德镇瓷器 B.景德镇戏剧 C.景德镇餐具 Out |
select |
作用: 为选择框加上标题,如果select命令为空,则in……out命令输出的选择框将只有选项,而没有标题。 写法: Select 景德镇盛产什么? In A.景德镇瓷器 B.景德镇戏剧 C.景德镇餐具 Out |
selleft |
作用: 设定选择框文字在显示时距离选择框左侧的偏移距离,用以调节文字位置。 写法: seleft 10 |
seltop |
作用: 设定选择框文字在显示时距离选择框顶端的偏移距离,用以调节文字位置。 写法: Seltop 10 |
mes |
作用: 显示一组对话,用以令游戏角色向用户传递信息。 写法: 1、单纯显示 Mes 吃了吗?没吃?!……没吃回家吃去吧。 2、强制换行 Mes 吃了吗?/n没吃?!……/n没吃回家吃去吧。 3、转换指定范围内文字颜色 Mes <r吃了吗/>?/n没吃?!……/n没吃回家吃去吧。 (r为红,w为白,b为黑,o为橘黄) |
meslen |
作用: 规定mes命令在显示对话时每行最多的显示字数,超过将自动换行(不填时以系统判断的默认行数执行)。 写法: Meslen 20 |
mescolor |
作用: 规定mes命令在显示对话时文字的默认颜色。 写法: Mescolor yellow |
mestop |
作用: 规定mes命令在显示时距离消息框上方的距离,用以调节文字位置。 写法: Mestop 10 |
mesleft |
作用: 规定mes命令在显示时距离消息框左边框的距离,用以调节文字位置。 写法: Mesleft 10 |
messtop |
作用: 关闭当前画面上的消息框或选择框。 写法: messtop |
gb |
作用: 显示指定的背景画面。 写法: gb res/background.png |
cg |
作用: 显示指定的角色画面。 写法: 1、 单纯显示 cg res/role.png 2、 显示在指定位置 cg res/role.png 50 50 3、 替换当前cg cg res/role.png to res/role1.png 4、 删除指定cg cg del res/role.png (ps:只填写cg del则删除全部cg) |
sleep |
作用: 令画面延迟指定时间,此段时间内画面将无响应。 写法: Sleep 1000 |
flash |
作用: 令画面以指定颜色闪烁。 写法: Flash 200,125,200 |
cgwait |
作用: 暂停当前画面,当点击时继续运行。 写法: Cgwait |
Fadein |
作用: 以指定颜色进行屏幕淡入。 写法: Fadein black |
Fadeout |
作用: 以指定颜色进行屏幕淡出。 写法: Fadeout black |
shake |
作用; 让画面产生模拟震荡。 写法: Shake 30 |
play |
作用: 播放指定音乐。 写法: Paly res/m1.wav |
playloop |
作用: 循环播放指定音乐。 写法: Play res/m1.wav |
playstop |
作用: 停止音乐的播放。 写法: Playstop 0 (0为音乐索引号,按照添加顺序累加,直接playstop将停止所有音乐的播放) |
petal |
作用: 画面呈现樱花飞舞效果。 写法: Petal(停止为petalstop) |
snow |
作用: 画面呈现银装素裹效果。 写法: Snow(停止为snowstop) |
rain |
作用: 画面呈现落雨纷纷效果。 写法: Rain(停止为rainstop) |
set |
作用: 预定义脚本变量。脚本变量也可在AVGScreen中通过Command类设置,也多用于AVGScreen与脚本交互,或者定义需要重复使用的数据信息。 写法: set var = “res/background.png” set var1 = 100 |
|
作用: 将脚本中的预定义变量内容于指定位置显示出来。 写法: 1、set var = “res/background.png” mes print(var) 2、set var =7 If var == 7 XXXX else XXXX endif 3、set var=10/2*36-7 |
reset |
作用: 清空脚本中一切缓存,此时所有预订义变量都将不复存在。 写法: Reset |
//,#.’ |
作用: 以上三者为行注释符号,自该符号起一整行数据将不被脚本读取。 写法: //XXXX #XXXX ‘XXXX |
/**/ |
作用: 区域注释符号,自/*起,直到*/结束的所有数据将不被脚本读取。 写法: /* XXXXXXXXX XXXXX XXX */ |
exit |
作用: 离开AVGScreen窗体。当执行此命令时脚本将被强制终止,并执行onExit函数,多用于转换Screen。 写法: exit |
说到这里,其实我们可以看出LGame默认给出的脚本功能非常有限(相对专业AVG引擎而言),只包含了最基础的AVG功能。
但是,那并不重要,因为LGame是一款通用(万能)的游戏开发框架,只要LGame将相关修改权限交给游戏开发者,游戏开发者就完全可以通过LGame组件对AVGScreen扩充出任何您所需要的功能。
下列是一个继承自AVGScreen的窗体:
值得说明的是,即便什么都不再实现,继承自AVGScreen的窗体也可以起到解释并执行指定脚本的作用。另外J2SE版与Android版更新内容完全相同,故不再赘述。
事实上,AVGScreen的操作使用非常之简便,只要结合LGame现有的强大组件与精灵支持,就算要制作出传说级的AVG(或galgame),也只是轻而易举的事情罢了(当然,大前提是有美工支持,或者套用其它游戏图片……)。
再者,虽然AVG类游戏制作非常简单,某些类型的AVG游戏甚至非常卖座(比如月姬、圣杯战争、初音岛之类以及很多纯H的),但在Android上的AVG游戏却非常罕见,这给无论是原创或移植游戏都留下了巨大的商机。
另外0.2.8中也修正了所有大家反馈回来的Bug(这次改版后应该没有特别明显的Bug存在了),并针对精灵类作了优化,修正了一些耗时的算法,同时为LGame的标准精类(不是仿j2me的那个)添加了自由旋转以及色彩过滤功能,并且增加了一些画面特效,具体留待正式发布时再详细说明。
小弟本周六、日两天准备死磕文档,没有发生人力不可抗拒之意外的话(诸如停电、受伤、其它项目赶工、硬盘崩溃、乃至海啸、地震、战争、外星人入侵、小弟蒙主召唤等等),文档以及LGame-0.2.8会在2010年9月15日晚准时发布,不见不散。