游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1799|回复: 1

ScriptEdit - J2ME上的脚本引擎

[复制链接]

37

主题

68

帖子

68

积分

注册会员

Rank: 2

积分
68
发表于 2006-3-24 18:43:00 | 显示全部楼层 |阅读模式
由于Blog不能上传RAR文件,故全文贴下,转载此篇文章请务必跟作者联系

        半年前曾经接手过的一个项目是类似于冒险类的手机游戏,有大量的分支剧情和文字信息,如果把这部分代码都写进MIDlet里,不仅加载类时会浪费大量内存,而且不易后期维护和修改。所以就开发了这个简单的脚本引擎。他的总体架构是在我参看了圣剑II的源代码之后有所感悟,得益于开源的帮助才得以完成,心存感激,所以今日才将其公布,也算是对前辈精神的一种崇敬吧!
        速度:如果在J2ME上采用圣剑II的那种解释型的脚本运行机制,解释一句执行一句,速度肯定不甚理想。所以我想到了将其编译成数据然后读取的做法,运行速度已经在后续的两三个游戏中得到了肯定。唯一的缺陷是编译后的脚本数据文件增大了Jar的大小。
        内存:因为脚本采取编译处理,每条指令都变成了数据,所以编译后的数据量也是蛮大的,再加之有大量的文字,如果一次读取进内存,尤其像老40这种变态机型,肯定是要爆掉的,于是我想到了分段读取的办法,所以才将LoadScript和UnLoadScript作为关键字,这样可以动态操纵脚本合时读入内存,合时释放。缺点是读取的I/O操作会降低游戏速度。所以LoadScript的使用应该适时调用。
        因为项目时间比较紧,如果自己写词法分析,语法分析这部分,肯定项目来不及,所以就用了JavaCC作为词法语法的分析器。
        最后感谢郑玉英同志在脚本编辑器的应用上对我的帮助,虽然你现在到EA后联系渐少,但在我心中你永远是我的兄弟。

Blog上竟然不能上传RAR,没办法放到这里吧,请斑竹不要给我删掉啊!

详情请查看:
http://spaces.msn.com/j2medev/blog/cns!8D09CFF9FE06ED5D!358.entry

sf_200632418439.rar

100.97 KB, 下载次数:

37

主题

68

帖子

68

积分

注册会员

Rank: 2

积分
68
 楼主| 发表于 2006-3-27 23:09:00 | 显示全部楼层

Re: ScriptEdit - J2ME上的脚本引擎

帮助文档

sf_200632723912.rar

4.03 KB, 下载次数:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 01:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表