Content Preview: rss
251 days ago
Snake脚本编译器已升至1.2 虚拟机没什么改动还是1.1 修正bug 1.#define宏定义问题 2.增加主引擎脚本调用方法 重点是第二项改变,做游戏的同胞一定会用得到 下载地址 里面有主引擎调用脚本方法的例子
482 days ago
SnakeScript1.1版本(截止8.1) 新增功能及特性 1.动态优先级设定 可以在程序运行的时候动态改变某个脚本的优先级 2.动态实现脚本的加载、释放、暂停、恢复、结束等控制 这些对脚本运行的控制已经可以写入不同脚本里,而不是主引擎去调用这些功能, 这意味着RPG脚本分为主脚本和很多子脚本,主脚本负责在游戏运行过程中动态的 管理所有的子脚本 3.自动堆栈平衡 如果进行对主引擎函数的调用,则调用结束后无需手动传入参数个数来平衡堆栈,脚本引擎代劳,防止人为因素的错误发生 4.无限级别函数调用 曾经用了一个函数追踪栈来记录函数之间的调用信息,因为初始化的追踪栈是有限的,所以只支持有限级别的函数调用(比如32级) 现在通过更好的方法将函数调用信息记录到堆栈上,实现了无限级别调用,可以实现完全的地归操作,(受限与堆栈大小) 5.主引擎对脚本函数的异步及同步调用 这个是实现起来最复杂功能(占用新版本开发的50%时间),可以在任意时候,任意位置来让主引擎去调用脚本里的方法,同步异步都支持 不明白同步异步的同学去看脚本例子,内含介绍 6.脚本和脚本之间函数的同步和异步调用 这也是新版本的核心功能,现在设计脚本RPG的模式就非常清晰了,比如一个npc脚本使用了一个爆炸道具,这个npc脚本就能通知附近的油桶脚本(函数调用) 让油桶脚本播放爆炸的动画,很酷!!! 7.函数参数类型化声明 在声明函数的时候无需像以前一样传入参数个数,而是传入参数名和希望的类型,这样可以让调用者明白传什么样的参数最合理 8.静态内存初始化 一个朋友希望数组初始化能像C或java一样简单,而不是一个一个赋值,我想了一下觉得建议很好,立即实现这样初始化 比如 var xiaoxin[4] = {1, 2, "xiaoxin", 3, 5} 9.支持内嵌虚拟指令集 我非常喜欢C++里的内嵌汇编模式,于是在脚本编译器上也实现了同样的功能 _svm{ PUSH 10 PUSH 20 POP _T1 POP _T0 ADD _T0, _T1 PUSH _T0 ...
520 days ago
759 days ago
SnakeScript0.8.0 脚本引擎终于可以和大家见面了,历时1个月的努力,将0.4版进行升级,修正了0.4版的全局数组索引的bug 0.8版支持0.4版所有特性并加入多脚本并发执行的功能,我认为也是最诱人的功能,有不少朋友可能不太熟悉使用方法,昨天花了 一天时间来写使用手册,在使用过程中如果有什么问题请查阅手册,直接和我交流那更好。 注意:0.8版的svm(运行引擎)只支持0.8版的编译器编译出的脚本文件。 0.8版的编译器基于jdk1.6平台。 内含有netbeans示例程序,两个脚本控制两个小飞机同时运动 下载地址 一个游戏里的脚本的例子,控制一个宠物自动行走 下载脚本



