接触JavaScript和ActionScript3也有近5年的时间了,它们都是应用比较广泛的脚本语言,经过这几年的工作和学习,静下来的时候想总结一些东西,作为技术上的沉淀以及培训所用,所以就有了这篇文章。先来看看二者的同性与差异性:
HTML5是一种热门的跨平台开发技术,随着引擎技术的发展,如今LayaAir引擎的产品性能已达到原生APP的水准,甚至可以直接用于开发APP、HTML5、Flash的多端版本产品。认真学习完本篇教程,可以帮您打开全平台开发之门。
今天,引擎2.2.0 beta版本终于与大家见面了。从此以后,LayaAir引擎源码从ActionScript3全面转向TypeScript,引擎运行的JS全面支持ES6标准,在未来的引擎API设计上会利用TypeScript语言特性进行调整,提升开发效率。除此之外,这次的版本,引擎的默认图形API调整为WebGL 2.0,且3D方面也有着大量实用功能的增加,本文会逐一为大家介绍。
AS3JS是ActionScript 3.0到JavaScript的转换器,它基本上可以让你使用ActionScript 3.0语言编写客户端和服务器端JavaScript应用程序。AS3JS是不是一个框架。此工具也没有设计成用于转换的Flash到HTML5解决方案(虽然它可能会帮助!)。现在AS3JS纯粹是转换器,但是你可以自由的扩展它,如果你愿意,因为它是开源的。
最近可以有1个月左右的空闲,可以稍微整理一下这个脚本解释器的开发过程。 一、缘由 2014年左右,我们使用AIR技术,开发了一个3D战争类型的手游。那时候手游开发技术主要是cocos2d,unity,Air稍微小众一些,但是也有。那个时候正是AS3走下坡路的时候,BOSS耳软心活,一会要改用cocos,一会要改用unity,于是萌生了一个自己写一个as 3.0脚本解释器的想法。 二、关于actionscript3。 As3脚本语言,实际上就是ecmascript 262 V4的加强版,也就是说基本上
原理跟Silverlight中的几乎如出一辙(见Silverlight如何与JS相互调用): ActionScript3代码: btnCallJs.addEventListener(MouseEvent.CLICK,fnCallJs); function fnCallJs(e:MouseEvent):void { trace("准备调用..."); //调用js中的JsHello方法,并将返回值显示到Label中 lblResult.text=ExternalInterface.call("JsHe
之前有朋友给我发送email,询问我是否有单个文件上传的源代码,因为当时写这个好像是在09年,所以放哪了一时也没找着。后来整理硬盘的时候,找到了源码,所以决定来个汇总(之前写过的关于flash+js上传文件的例子):
原生手游市场已是红海,腾讯、网易等寡头独霸天下,H5游戏市场或将成为下一个风口。据笔者所知,很多H5游戏开发团队由于选择引擎不慎导致项目甚至团队夭折。如何选择适合团队和项目的引擎,笔者通过学习和项目实践,总结微薄经验,供大家参考,非技术人员也可以将本篇内容作为引擎选择的重要关注点。 选择H5游戏引擎的思考维度 1、开发语言的支持 2、2D、3D、VR的支持 3、性能 4、引擎的应用广度 5、设计理念 6、工作流支持力度 7、商业化成熟案例 8、学习资源与技术支持能力 首先,我们要知道,当前主流的游戏引擎有哪
原生手游市场已是红海,腾讯、网易等寡头独霸天下,H5游戏市场成为下一个风口。然而,有一些H5游戏开发团队由于选择引擎不慎导致项目甚至团队夭折。如何选择适合团队和项目的引擎,至关重要,本篇源自网络,干货颇多,特在此转发分享!
SocketManager最多在连接失败时,进行5次重连。建立socket连接代码:
注意:先调用ExternalInterface.addCallback,再调用ExternalInterface.call
父类--静态变量 子类--静态变量 父类--变量 父类--构造器 子类--变量 子类--构造器
as3 与java 都提供了Socket类用于网络通信, 但两者的使用也有较大的不同. 为了方便两者的通信, 我在做了一些实验的基础上, 写下获得的经验,以免忘记. as3 的socket 读写数据方法常用的有四个: readUTF, writeUTF, readUTFBytes, writeUTFBytesjava 的socket 输入输出流常用BufferedReader 和 DataOutputStream 包装, 以提高读写效率 如: BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8")); DataOutputStream writer = new DataOutputStream(socket.getOutputStream()); as3 方写数据时用writeUTFBytes 方法, 此时java 方读数据用reader.readLine() 阻塞式方法. as3 方写数据时用writeUTF方法, 此时java 方应改用DataInputStream 类包装输入流, 因为BufferedReader 不提供读取UTF数据的方法. java 方写数据时用writeUTF方法, 此时as3 方读数据用readUTF方法, 但此种模式有个弊端, 就是如果java方连续调用了n(n >= 2)次writeUTF方法,而as3方因来不及读取, 则最后只是第一次写入的数据被读取. java 方写数据时用writeBytes, 此时as3 方读数据用readUTFBytes方法读取数据, 可以这样读取: msg = socket.readUTFBytes(socket.bytesAvailable). 一个简单的例子: // as3 写的客户端
微信小游戏推出后,LayaAir引擎也同步支持了微信小游戏的开发,由于很多开发者对微信小游戏的开发流程不够了解,不太清楚如何下手。为此,我们在2018年的开工首日,从简介篇,小游戏创建篇,综合介绍篇三部分,全面介绍微信小游戏的开发、测试,与重要项目规则。
小游戏从微信小程序诞生,我们不妨看看他的官方定义:小游戏是以小程序为载体的新游戏产品形态,具备无需下载、即点即玩、体验轻便等特点。
那么为什么依附小程序产生的小游戏可以有这么大的关注度呢?先不论桌面端和APP端,与HTML5有相近的小程序游戏又怎么能频繁爆火到有这么大的流量呢?
你的App里多久没有出现过一款新应用了?距离上一个现象级的应用抖音出现已经过去了6年。移动互联网已经相当成熟,近几年不管是游戏娱乐还是生活服务应用,很难出现爆款,反观小程序、轻应用小游戏却频频跑出黑马。比如:比如这一两年大爆的“合成一个大西瓜”“羊了个羊”等小游戏。
如今,随着诸多小游戏的推出,游戏市场五花八门、爆款频出,从 “跳一跳” 到 “羊了个羊”,人们似乎越来越钟爱快捷简便的小游戏。但仍有不少小伙伴提出疑问,小游戏和多年一直火爆的H5游戏相比,有什么区别?有什么优势?它的前景如何?今天,就来对这二者进行简单分析与对比。
小游戏从微信小程序诞生,我们先不妨看看他的官方定义:小游戏是以小程序为载体的新型游戏产品形态,具备无需下载、即点即玩、体验轻便等特点。 「呼朋引伴,说玩就玩,玩完就走」,这或许是对小游戏最准确的定义。从最开始的“跳一跳”到爆火的“羊了个羊”微信小游戏上线4年的时间,除了涌现出不少爆火全网的小游戏之外,也有类似像“动物餐厅”、“口袋奇兵”等游戏得以孵化繁荣,凭借着微信强大的社交属性小游戏成为了游戏厂商在桌面端、App 端、H5 端之外争夺的另一个方向。
H5游戏是运用了h5技术的响应式网站布局的游戏,它完全实现了网页游戏在手机移动端的无缝衔接。众所周知,H5游戏已盛行了多年,而如今,随着诸多小游戏的推出,小游戏爆款频出,从“跳一跳”到“羊了个羊”,人们越来越习惯于快捷简便的小游戏。
近几年“跳一跳”、“羊了个羊”微信小游戏上线仅仅4年时间,除过产生不少爆火上热搜的小游戏之外,还涌现了许多像是“口袋奇兵”、“动物餐厅”等游戏。它们借助着微信强大的社交性能,使得小游戏成为了游戏厂商和创作者在在桌面端、APP端、H5等端口之外争夺的另一个渠道。
相信有很多和我一样的人,曾多次问google、问baidu、问各大论坛——如何开发游戏?开发游戏如何入门?由于游戏开发本身其复杂、庞大、涉及东西比较多,始终不得其道,最终激情无情的被时间这把杀猪刀给磨灭。之后又一次激情澎湃,又一次不了了之……
从“跳一跳”到“羊了个羊”微信小游戏上线4年时间,除了涌现出不少火爆全网的小游戏之外,也有类似于“动物餐厅”、“口袋奇兵”等游戏得以在此孵化繁荣,凭借着微信强大的社交属性小游戏成为游戏厂商在桌面端、App 端、H5 端之外争夺的另一个窗口。
之前在学习node.js时,写过一些例子和demo,偶尔也会有人发email问我node.js的一些问题。因为是二三年前写的东西,当时使用的第三方库和node.js的版本跟最新的可能有所不同甚至比较大的出入,所以大家在遇到问题的时候可能要多注意一下版本了,发邮件给我,也可能不会得到很准确的答复。
每一种编程语言都提供强制类型转换,允许你将某一种数据类型转换成另一种数据类型,AS3自然也不例外。但是虽然我编写了不少Flex程序,对 AS3中的强制类型转换还是不太清楚,以前AS中是这样进行强制类型转换的:假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写:
CrossBridge是Adobe FlasCC的开源版本,它提供了一个完整的C/C++开发环境,目的是把C/C++程序编译成Flash程序,运行于Flash Runtime之上。 CrossBridge前身为Alchemy,它提供了一个完整的类似于BSD的C/C++开发环境,基于GCC编译器,可以把C/C++源代码编译成目标Adobe Flash Runtimes程序。使用CrossBridge,可以把现有的大多数C/C++代码移植到Web上。
Function类在as3中是直接从Object继承下来的,通常开发者定义的每一个function,均可以认为是Function类的一个实例。 如果硬要跟c#做比较,Function类跟Delegate(委托)有几分相似,均可以达到通过该类型的实例来调用不同方法的目的。 using System; namespace FunctionTest { class Program { private delegate void _delegateType(string nam
说到File API,比如有意思就是图片上传了。国外有一个网站叫min.us 用户只需要把图片拖到网页面中,然后自己进行排序就OK了,很方便。
LayaAir引擎放弃Canvas原生API,并不等于放弃2D,而是为更好的发展2D和3D!那为什么要放弃Canvas原生API,以及LayaAir引擎未来的发展规划,这里我们来和大家聊一聊!
阅读本文前,如果不了解微信小游戏的基础创建流程和如何配置开发环境的,请先点击链接阅读《创建微信小游戏全流程介绍》或前往官网阅读LayaAir引擎官方技术文档,配置环境等基础内容本篇不再重复介绍。
本文介绍了CrossBridge和Alchemy分别是什么,以及它们在Adobe Flash Player中的使用。CrossBridge是一个用于将C/C++代码编译成Flash Player插件的工具,而Alchemy是Adobe推出的一款用于创建高性能Flash Player插件的编译工具。使用CrossBridge和Alchemy可以将C/C++代码编译成Flash Player插件,从而在浏览器中运行。
AS3相对于以前版本的功能增强了很多,在赋予它重任时,同时也要它付出代价:垃圾收集器不再支持自动为你收集垃圾。本文中,我为大家整理了一些资料。首先,我们先来了解下垃圾收集器是个什么东西?
是的,没错,就是用vs2010来开发flex/flash !有图有真相: 1、在vs2010中创建as3/air/flex项目 2、ide环境中的as代码自动提示 对于不想安装flash cs/fla
游戏性能优化,一直是游戏开发者需要学习掌握的课题,在移动设备硬件性能远弱于PC的背景下,我们对性能的需求显得更加重要。
总得来说,我们可以先去live2D官网下载它的Unity SDK,然后即可在Unity中使用。我们这里使用的是live2d 2.1版。
单件(singleton)模式在c#中是最容易实现的模式,其主要用意就在于限制使用者用new来创建多个实例。但在as3中,构造函数必须是public的(语法本身要求的),而且也不能在构造函数中抛出异常(编译可通过,但是逻辑行不通),因为这样相当于把创建实例的路子完全切断了,一个实例也得不到! 错误代码: package{ public class singleton{ static private var _instance:singleton; public function sin
0x01 HTML中嵌入FLASH 在HTML中嵌入FLASH的时候在IE和非IE浏览器下嵌入的方式有所不同,可以使用embed标签和object标签,使用如下的代码进行嵌入: IE下嵌入 <object codeBase="http://fpdownload.macromedia.com/get/Flashplayer/current/swFlash.cab#version=8,0,0,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"> <pa
目前flash在各方个面的应用越来越广,而flash也不单只是注重自身绚丽的效果,也需要和外界程序交换数据,以实现更强大的功能,随着as3的到来,flash和外部交互的方式也越来越简便和合理化。今天就在这里谈谈as3和后台数据的交互(这里选择as3 php架构,其他配置同理)。
当第一个元素为-1时,竟然删除了集合的最后的元素,实在是...倒数删除,倒数第一个元素的Index = -1 , 倒数第二个为 -2 , 依次类推,并非不删除元素.
1、单个上传使用FileReference,一次可选择多张图片可使用FileReferenceList,在flash player 10+可使用load方法可实现预览图片
作者使用过的最简洁的观察者模式,就是AS3源码里的EventDispatcher事件派发者对象。任何继承于这个类的对象,都可以间接实现观察者模式。
flex 3 比较符合程序员的习惯,尤其是对Java程序员来说,Eclipse 太熟悉了,不过我觉得不能开发多帧的程序是flex 的最大缺点,也可能我孤陋寡闻,没找到开发多帧程序的方式
最近在cocos2d-js下捣腾Dragonbones。转一个文章,大家可以参考安装Dragonbones。关于这个Dragonbones,5月份的时候还用得好好的,cocos2d-js还能妥妥的加载。最近就不行了,原来默默的升级了。还是得找回原来的2.0版本,后边再开一个文章说这个事吧。 原文:http://blog.csdn.net/mokt2001/article/details/39338363 补充一句:下载Dragonbones后,flash的插件安装文件zxp其实就是个zip,改名解压就可以找
摘要总结:本文通过分析PHP和JavaScript两种不同的语言实现聊天室,阐述了使用JavaScript实现聊天室的优势和可行性。同时,本文还通过具体的代码示例,讲解了使用jQuery插件实现聊天室的具体方法,对于从事前端开发的人员具有一定的参考价值。
unity热更新是一个经久不衰的话题。除了最常见的lua之外,还有如JSBinding,C#等等。这里介绍一个使用ECMAScript4进行热更新的方案。它吸收了各家的优点,特色很鲜明。 项目地址:
http://vsheyan.blogbus.com/logs/46456208.html
领取专属 10元无门槛券
手把手带您无忧上云