03
2015
03

air for android两种实现方法

方法1:flash提供的air for android可以直接发布成apk,flash本身实现不了的功能,通过ane来实现。

方法2:参考 Java ADT 打包AIR ,原生java通过air运行时来加载swf。


个人感觉效果上两种方法没有区别,第二种方法调试起来比较方便。

06
2015
02

createjs屏幕适配问题

我们用做游戏的时候,舞台的宽高是固定的,这样我们才能专心来实现游戏的逻辑,游戏做好了之后,要放到不同的设备上运行,要面对各种分辨率,还要面对手机的屏幕旋转,游戏主舞台宽高是固定的,适应屏幕无非就是控制舞台的缩放和位移。

缩放以适应屏幕大小效果不好,做游戏很少会用;按宽或者按高等比缩放也不太实用;常用的就是等比缩放并居中。其实无论哪种方式,原理都是一样的。

好多引擎都提供了响应的方法来实现屏幕适配,是的我们可以专注做游戏。createjs没有深入研究,不知道有没有。

05
2015
02

flasCC

flasCC,不是flash CC。最开始是Alchemy(传说中的炼金术),可以把c,c++代码编译成swf直接发布到网上,或者编译成swc供as调用。

天地会论坛关于flasCC的专题:http://wiki.9ria.com/FlasCC(Flash_C%2B%2B_Compiler

第一次使用总结:

02
2015
02

flwebgl

Flash CC可以创建webgl,由于webgl比较难,一直没看懂webgl的原生api(根本就没找到api);用Flash CC创建了一个webgl文档,发布出来,assets文件夹里边的json先不管,打开libs文件夹,里边有一个flwebgl-0.1.min.js,原来flash的webgl就是基于flwebgl的。用百度和谷歌(谷歌用不了,可以用aol)搜索flwebgl,搜索结果连1页都没有占满,可想而知这个东西有多不受欢迎。

从仅有的几篇包含flwebgl的文档中,找了几个对于了解flwebgl有用的,贴出来以备忘:

一个可以用来入门的例子,写的很好:

http://www.yeahbutisitflash.com/?p=7231

官方API:

英文:http://helpx.adobe.com/flash/webgl-runtime-api-help/index.html

中文:https://helpx.adobe.com/cn/flash/webgl-runtime-api-help/index.html

github上的源码:

https://github.com/claus/flwebgl.ts

可以看bin目录下的flwebgl.js来学习或查找源码中的方法定义。

02
2015
02

ane入门

尝试用as3做移动端开发,发现好多功能都实现不了,然后发现adobe提供了方法:ane(AdobeAir的本地扩展)。

从天地会下载了好多打包好的ane,尝试了无数次,都不成功,真的感觉都要放弃了。断断续续的试了好几个星期,总算成功了。所以记录一下。


31
2015
01

java学习(一)

最近在学java,看了看《thinking in java》,写的很好,只是写得太基础了,太难懂,等入了门可以多翻翻,深入理解java的机制。

用惯了as,感觉c,c++之类的太难学了,太基础,什么都得自己考虑到,java介于两者之间,刚开始可以用一些顶层封装好的类,等水平提高了再深入去理解底层的东西。

============================================================

1、第一个窗口程序;

参考:JAVA之窗口和布局

30
2015
01

(十二)倒计时

计时是游戏中经常用到的功能,尤其是倒计时。实际上计时器、倒计时原理都是一样的。

这里我们介绍两种计时方式,基于enterFrame的和基于setTimeout的。

1、先看基于enterFrame的倒计时。

enterFrame事件应该已经比较熟悉了,flash默认的帧频是24,也就是播放每一帧的时间是1/24秒,大约是40毫秒。当然我们能够改成自己认为合适的帧频。如果使用24帧,我们要实现按秒倒计时的话,只需要每24帧减1秒就可以了。

先看效果:

30
2015
01

(十一)第一个小游戏

好多人都是上来就做游戏的,我也是,flash还一点都不会,就想着做一个游戏,然后一边碰壁一边学,最后第一个游戏还是夭折了。记得有一本书写的很好,好像叫《第二游戏说》,所以第一个游戏失败的话是很正常的,不要不肯放手。第一个游戏的作用不是做出来炫耀,而是带我们入门,让我们兴趣盎然的去了解一个工具,让我们知道为了做出一个游戏,我们还需要学习哪些东西。

经过前面的积淀,总算可以做游戏了,但是也不能好高骛远,做个超级玛丽、坦克大战的话还是算了。我们的第一个游戏很简单,点击舞台十次。效果如下:

30
2015
01

(十)代码实现动画

动画,无非就是定时改变显示的内容。flash里边的动画是基于帧的。帧频就是每一秒播放多少帧,1/帧频 就是播放一帧对应的时间。

将帧频理解为“每秒播放多少帧”不如理解为“flash的刷新频率”更合适,因为,如果我们在某一帧写上stop(),虽然不会再向下播放,但是播放的swf动画依然在不停的刷新。

每次刷新时,flash都会为我们发送一个事件enterFrame,同样,打开帮助,从MovieCLip的事件里边找到enterFrame

30
2015
01

(九)事件

用代码实现动画,或是与用户的互动,就必然要用到事件,而事件又不是很好理解,所以有必要单独拿出来说一下下。

事件,可以理解为消息。任何一个消息都有源头,我们暂时不需要知道,我们只需要知道,在as3中都有哪些消息,我们如何获得这些消息,获得之后又能做什么。