收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 4384|回复: 1

[AS3] 全新方式:用flash As开发H5游戏新的可行性研究

[复制链接]
发表于 2016-9-8 12:47:10 | 显示全部楼层 |阅读模式
本帖最后由 luanhanqing2 于 2016-9-8 12:50 编辑

    依稀记得十几年前,那时正值互联网初期,一切都猛烈的发展。就像如今的H5一样,flash在当时,作为一种全新的技术,其热烈程度,一点也不输H5,甚至有了专有的称号:闪客

当然,万事都在变化,作为一个风靡了十几年的技术,终于在移动领域为王的时代,止步了。

    说起来有那么一丝遗憾,毕竟,AS3是一种面向对象的语言,而H5,仍旧依附于js这种古老的不能再古老的语言,好在有TypeScript,让js披上了“面向对象”的外衣。

也就是说,既然TypeScript可以编译为js,那ActionScript编译为js,从理论上是完全成立的。

    Adobe公司提供了一种新的开发平台:creatJS,给了flash开发H5一条不太平整的道路,
设计人员将资源导入flash,再导出H5,方便前端开发人员进行资源调用。

    这并不能发挥flash应有的优势,我仍旧期待有一天,Adobe能将AS3语言也一并转成H5。
前些日子,从朋友那里发现一个的网站,又提起我的把玩兴趣,因为可以傻瓜式的,把一个flash文件(swf)转换成H5,而且支持AS3到js的转换,同时也支持刚刚成为主流的webGL。

    这和我期盼方向基本一致,但我当时对此并不抱太大希望,想着顶多是一个不成熟的东西,只是概念化,多了一条可能性。
刚好,我最近在研究解密技术(不太光彩),并成功解密了“愤怒的小鸟”flash文件,之所以要用未加密的文件,是因为无法转换加密的flash,当然,主流的反编译软件对加密的flash支持也不好。像很多电视购物那样,抱着试试看的态度,转换了一下:
flashreturn.png
嗯,转换界面异常傻瓜,上传个文件,就转换完毕了:
ab.jpg
说实话,转换后的页面有点让我有点惊讶:确定这不是flash?
习惯性点了右键,果然,没出现flashPlayer的提示,赶紧查看源代码:

abcanvas.png

页面里显示的的确是一个canvas对象!!心中不免一阵喜悦。

可能一些人不明白,愤怒的小鸟不过是一个flash小游戏,有什么可喜悦的。嘿嘿,想要转换这个游戏,不是那么简单:

     因为愤怒的小鸟,是基于box2D引擎(这个引擎的作者,后来去了暴雪开发物理引擎),其中包括复杂的物理运算。并且同一个画面里的图像对象,多且复杂,如果不支持webGL,手机不可能跑的动。

既然这样的代码都能转换,初步认为,已达到开发H5的要求了,至少,这值得我尝试一下。
首先,定的目标是实际应用,而不是实验性应用,性能必须要达到要求。既然支持webGL,那就值得折腾一下。
demo0001.jpg
demo里大概有100个同时移动的对象,如果不是支持webGL,是跑不流畅的。抛开本文不说,单靠webGl图形加速技术,就能对APP游戏造成一定的威胁。
性能不是问题了,作为移动端开发,触控操作就必不可少,最好能支持多点触摸:
demo0002.jpg

上面是三个按钮,按下会发射一枚忍者镖,果然,三个手指同时按住,全部触发。原以为也就支持单点,没想还是给了点惊喜,但也不能就这样轻易通过,再试试拖拽功能:

demo0005.jpg

拖拽非常流畅,没出现拖拽过程卡住的问题,说明一般的触控操作没问题了,至此,触控功能算通过了(插一句,我试着写了鼠标的侦听,竟然也能用触摸屏幕触发,只能说开发人员想的还是很周到的。)

接下来,外部加载flash的测试,可就不那么简单了:
demo0003.jpg
没想到这个也是可行的,而且,能通过 conent 来控制加载flash里的对象:

ld.content.addEventListener(MouseEvent.CLICK,_clk)
function _clk(e){
      ld.content.gotoAndPlay(37);//控制加载flash的跳帧播放
}
(ld就是loader对象)
这样的话,就不仅仅是开发小—游—戏了,可以直接把开发目标更上一层:页——游开发
demo0004.jpg
 楼主| 发表于 2016-9-8 12:53:31 | 显示全部楼层
(手机页——游假想DEMO)
因为作为页——游,不可能开始把资源都加载,肯定是要逐步加载,或者根据服-务-器返回的内容,加载外部模块。
嗯,本来还想花几天时间,写几个小--游--戏,看来我可要多花时间和精力,直接一步到位:打算开发一款--页---游,别着急,等我的后续吧。
有一个重复的帖子,麻烦管理员给删了,以这个为准。
最后放出转换页--面的网--站和地---址:
FlashReturn.com
另外,还有个重要的东西:这个网站提供了flash插--件(集成到flash软件菜单里,非常的方便),支持cs系列和最新的animate。

还有本文的文件,可以自己亲自测试一下转换

演示fla.zip

85.72 KB, 下载次数: 249

回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-9-29 19:21 , Processed in 0.124684 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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