Flash 板


LINE

有玩过PC game的人多多少少看过所谓的"console"吧 像很多Valve出的游戏按下~就会跳出一个可以输入指令的console视窗 这种及时输入code及时编译的引擎叫做scripting engine 像是Python, MATLAB语言都属於scripting language LUA是一个很有名的scripting engine 被Lucas Arts拿来做星际大战游戏系列 目前有人用Alchemy将其转换成AS3可以用的library,不过还在0.2beta阶段 BISE是我最近发现的一个轻量级AS2 scripting engine (BISE = BeInteractive Scripting Engine) 是一位叫做Yoshihiro Shindo的日本人写的 他的blog在这里 http://be-interactive.org/ Sean Givan将其翻译成AS3版本,也就是我最近在玩的版本 AS3版本网址在这里 http://0rz.tw/imL7Z Script engine的好处: (1)可以让使用者直接从console输入code立即编译 不需要为了测试、修改某个小大方而重新把主程式编译一次 (2)写好的code存成文字挡,可以要执行的时候再载入 BISE的用法也很简单 不外乎用到Scanner, Parser, VirtualMachine三个class而已 import scripting.*; import idv.cjcat.display.shapes.*; var code:String = "trace(123);"; var s:Scanner = new Scanner(code); var p:Parser = new Parser(s); var vm:VirtualMachine = new VirtualMachine(); vm.getGlobalObject().trace = trace; vm.setByteCode(p.parse()); vm.execute(); //那行 "trace(123);" 就会导致Flash Player印出123 BISE的变数没有type,使用一个var即可 var i = 123; BISE可以利用VirtualMachine.getGlobalObject()来让其跟一些function和class做连结 vm.getGlobalObject().trace = trace; ↑就是定义BISE script里面的trace等於Flash的trace BISE没有new operator,但是我们可以用函式的方式来达到同样的效果 import scripting.*; import flash.display.*; //这些是BISE script var code:String = ""; code += "var circle = create(Shape);"; code += "circle.graphics.lineStyle(0);"; code += "circle.graphics.drawCircle(50, 50, 50);"; code += "root.addChild(circle);"; var s:Scanner = new Scanner(code); var p:Parser = new Parser(s); var vm:VirtualMachine = new VirtualMachine(); //跟一些function, object, class做连结 vm.getGlobalObject().trace = trace; vm.getGlobalObject().root = root; vm.getGlobalObject().Shape = Shape; //利用此function来达到new的效果 vm.getGlobalObject().create = create; function create(c:Class):* { return new c(); } vm.setByteCode(p.parse()); vm.execute(); 够好玩吧? 有兴趣的人可以试试用BISE来操纵自己写的小游戏看看 :) -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫 Blog http://cjcat.blogspot.com Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.82.66 ※ 编辑: cjcat2266 来自: 61.228.82.66 (04/05 14:42)
1F:推 aquarianboy:好东西啊! 04/05 18:12
2F:推 Jerrynet:推啊! 04/05 20:17
3F:→ Jerrynet:补上AS3版的网址 http://0rz.tw/imL7Z 04/05 20:28
4F:推 icedesign:大推 04/05 21:52
5F:→ cjcat2266:哎呀呀,抱歉哪,我原本是要po AS3版本的,结果忘记XD 04/05 22:28
6F:→ cjcat2266:赶快来补上 :p 04/05 22:28
※ 编辑: cjcat2266 来自: 61.228.86.152 (04/05 22:29)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP