首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

记一个脚本解释器的开发

As3脚本语言,实际上就是ecmascript 262 V4的加强版,也就是说基本上js有的它都有,另外还有java的特性,包含完整的类继承,接口系统,还可以使用js的prototype原型链继承,2方面互不干扰...大家都知道js也好.net也好,都有垃圾收集器的,那么我们如果要自己实现完整的as3,势必也要自己实现垃圾收集器。这一步我想了很长时间,也没想出太好的办法,除非自己撸个垃圾收集器。。。。。...而其他的函数,则使用apply和call和js一致,和AIR编译器保持一致。 e) 完整的语法支持。支持除了 with {}  和 namespace 之外的所有语法。...(namespace不是C#的namespace, as3中类似的是package。)因为with实在是没法搞,玩js的大家都知道蛤蛤。 f) IDE。...net2.0,连linq都没有使用,不依赖任何第三方库的脚本解释器,自然是可以嵌入Unity了,而且有静态编译检查,还特意加入了yield和结构体,就是为这个做准备的 八、游戏项目从开发到跑路   我们项目全部完成了

1.4K70

重磅:LayaAir2.2将引擎源码全面切换至TypeScript,支持WebGL2.0,并增加大量3D实用功能

请各位AS3项目的开发者注意阅读。 第一点,如果开发者将引擎升级到2.2.0之后,必须要注意的是bin目录下的index.js这里的变化。...在2.2.0以前的版本里,AS3项目,以引用2D物理库为例,index.js里只需要引入box2d库就可以了。...新旧两个版本IDE分别创建的AS3项目index.js对比效果如下图所示: ?...(图)index.js老旧版本的对比 第二点就是,新版本2.2.0的IDE创建的AS3项目,不再兼容2.2.0以下版本的引擎。...使用2.2.0的LayaAirIDE创建低于2.2.0引擎版本的AS3项目,会出现问题。这个影响只存在于AS3语言的项目,其它的TS或者JS语言没有这个限制。所以需要AS3项目的开发者注意一下。

1.8K10

AS3程序员小福利--as3js介绍及FlashDevelop工程的配置

AS3JS是不是一个框架。此工具也没有设计成用于转换的Flash到HTML5解决方案(虽然它可能会帮助!)。现在AS3JS纯粹是转换器,但是你可以自由的扩展它,如果你愿意,因为它是开源的。...这意味着所有的AS3特定关键字会被去除,以及将代码重新组织成可在一个JS环境中运行的单个文件。 源代码的输出是可读的,因为它类似于原始AS3代码。没有复杂的结构。...最关键的一点要记住的是,AS3,其核心是JavaScript的语法糖。这意味着,你可以选择你想要的AS3的功能,以用于项目。...安装和使用 交代一句,$符号不用输入,前提是你装了node $ npm i -g as3js 可以像下面这样使用它 $ as3js -src ..../path/to/as3/source -o output.js 在FlashDevelop中使用它 第一步:新建一个项目,选择Empty Project 如图所示: 第二步:配置项目 1.为了方便目录管理

88660

JavaScript与ActionScript3那些事

希望我在三十岁以前,有机会写一篇亲历参与“创业”的经历,从js前端转as3前端的历程,也算是送给自己三十岁生日的一份礼物:)  关于创业、转岗、管理,有机会一并写出自己的想法,现在还不太成熟,扯远了,...既然是那些事,那么JavaScript与ActionScript3肯定是有一些交集的,这里以基于浏览器的应用场景来进行归纳: 1、as3获取网页传递过来的参数; 2、jsas3的相互调用; 从“渲染swf...点击查看《JavaScript检测flash player的版本号》 渲染swf,一般使用swfobject.js (注意swfobject.js的版本,ver1.5与ver2.0+用法上差异较大),相关文档在这里...AS3调用JS所使用的方法:ExternalInterface.call 而JS调用AS3需要在AS3内先“注册”,而且必须要等待swf加载、注册完之后,才能调用它的方法 AS3内进行注册:ExternalInterface.addCallback...之前我也写过一些关于as与js相关的文章: flash在网页应用中的一些特殊应用场景>> chrome、ff下flash的mousewheel事件失效(wmode=transparent)>> js与as

1.1K10

LayaAir引擎入门教程:一篇学会用AS3语言开发HTML5(FlashDevelop开发环境)

LayaAir引擎与IDE最新版本的官方入口URL地址: http://ldc.layabox.com/ 1.3 LayaAir Engine下载 LayaAir Engine分为AS3\TS\JS三个版本...,本篇仅介绍AS3版本。...“laya.js.exe”为AS3代码编译器,用于将AS3代码编译为JS代码。 “playerglobal.swc”用于替换AS3原生编译器SDK,去除原生API语法提示。...第二节 配置FlashDevelop编译环境 要想使用AS3作为HTML5的开发语言,需要通过laya.js.exe编译器将AS3代码编译为JS代码才可以运行。...(Tips:”D:\LayaBox\LayaAir\laya.js.exe“应为laya.js.exe的实际所在路径) 步骤四:点击”确定“完成宏指令配置后,已经完成宏命令“LayaJsCompiler

2.2K40

技术干货分享:如何选择 HTML5 游戏引擎

由于H5引擎有很多,笔者在这里进行了精心的筛选,过滤掉不支持webGL的引擎,以及封装了第三方渲染内核的JS框架,和不能直接在浏览器中运行的JS引擎。...JavaScript脚本语言,尤其是中大型项目方面,AS3等高级语言的效率会更高。...从上图看出,支持JavaScript语言的引擎更多,由于AS3语言的编译器为Layabox引擎推出的,因此采用AS3作为开发语言的仅有Layabox引擎。...在webGL的2D渲染性能方面,pixi.js的性能处于当前的顶级。在webGL的3D渲染性能方面,Three.js非常优秀。...那么2D游戏,pixi.js无疑是首选。3D游戏,笔者推荐Three.js。但是这两种引擎的学习资料都比较稀少。

2.1K90

干货分享:如何选择HTML5引擎?至关重要!

由于H5引擎有很多,笔者在这里进行了精心的筛选,过滤掉不支持webGL的引擎,以及封装了第三方渲染内核的JS框架,和不能直接在浏览器中运行的JS引擎。...JavaScript脚本语言,尤其是中大型项目方面,AS3等高级语言的效率会更高。...从上图看出,支持JavaScript语言的引擎更多,由于AS3语言的编译器为Layabox引擎推出的,因此采用AS3作为开发语言的仅有Layabox引擎。...在webGL的2D渲染性能方面,pixi.js的性能处于当前的顶级。在webGL的3D渲染性能方面,Three.js非常优秀。...那么2D游戏,pixi.js无疑是首选。3D游戏,笔者推荐Three.js。但是这两种引擎的学习资料都比较稀少。

82830

【Golang语言社区前端编程】如何选择 H5 游戏引擎

由于H5引擎有很多,笔者在这里进行了精心的筛选,过滤掉不支持webGL的引擎,以及封装了第三方渲染内核的JS框架,和不能直接在浏览器中运行的JS引擎。...JavaScript脚本语言,尤其是中大型项目方面,AS3等高级语言的效率会更高。...从上图看出,支持JavaScript语言的引擎更多,由于AS3语言的编译器为Layabox引擎推出的,因此采用AS3作为开发语言的仅有Layabox引擎。...在webGL的2D渲染性能方面,pixi.js的性能处于当前的顶级。在webGL的3D渲染性能方面,Three.js非常优秀。...那么2D游戏,pixi.js无疑是首选。3D游戏,笔者推荐Three.js。但是这两种引擎的学习资料都比较稀少。

2.4K60

HTML5的File API

flash比较难搞的就是在非ie中浏览器认为flash是新窗口会话,当前网页的cookie无法传递到flash上传工具中,而针对这个一般就是用JS把当前页面中的cookie通过flash再传给后台,而对于一个后台如果使用了统一验证身份的接口那可能会有点麻烦...而HTML5中的FileReader对象与as3中的很像,只不过目前as3中的方法比这个多(有兴趣可以自己去看看adobe的lives docs,对比一下两者的区别与共同点)。...as3中是两个不同的对象:FileReference、FileReferenceList,在as3中可以使用FileFilter过滤只允许选择的上传文件。...as3中需要使用flash player 10+才支持本地预览,而且图片不易过大。...我尝试着去寻找HTML5中是否也如as3中可以让开发者自定义过滤选择文件呢,结果被我找到了http://en.wikipedia.org/wiki/File_select  添加一个属性就好了accept

1.9K20

聊一聊最近关于测试方面被咨询的问题

问题: 1、小白如何转行做测试? 2、功能测试如何转型自动化测试? 3、测试开发的出路在哪里?...1.关于如何转行做测试? 首先要明白自己为啥要转行做测试,为什么选择做测试这个行业,而不是其他行业,其次;决定转行后,要明白,一切的开始都源于基础,选择一门基础课程,拜师,去带你。切勿漂浮。...这是最近一个开发问我的问题,我问他为啥做测,他说做不好开发,我说测你能做好吗?他说看着能做好。我问,那开发呢,他说也能。我呵呵,你看着能做好的事情都做不好。...而是因为开发干不成,干测,我感觉你真正不是转,而是对自己的否定,开发做不好,也不一定做得好测。一个测,比开发懂的还要多。我最后问他,你知道什么是测试开发吗,他说就是测试。...他对这个职业没有了解,在开发圈混不下去,就转测开了,干两天还得转,在转行之前,一定要对自己的转行的行业有一定的了解,开发转测没有问题,功能测试转测没有问题,重要的是你要对行业的了解。

30410

微信小游戏从了解到游戏发布的全流程技术介绍!

AS3版本初始化 //AS3版本初始化微信小游戏的适配 MiniAdpter.init(); //初始化引擎 Laya.init(1136,640); TypeScript或JavaScript...Tips:本示例暂以ActionScript3开发语言为例,后面会讲一下TS和JS项目与AS3项目的区别。 2、查看示例项目效果 创建完项目之后,我们可以直接点一下调试按钮(如下图所示)。...3、微信开发者工具的编译与调试 完成小游戏项目的创建后,点击编译,即可在工具内预览效果和调试,AS3项目的话,由于JS在编译时自动合并了,所以到这一步应该非常顺利,可以看到模式器中的效果与LayaAirIDE...第一、TS与JS版本目前还没有集成小游戏的JS合并功能,所以多个JS文件会因为跨文件的执行域问题报错。...解决方案: 第一、要使用第三方JS合并工具,将多个JS合并成为一个JS。然后修改入口程序game.js,将合并后的js引入即可。 修改后的game.js参考: require(".

2.3K40
领券