月度存档: 三月 2013

cocos2dx自适应分辨率

2.0版本提供了三种适配策略:
kResolutionNoBorder:超出屏幕的部分会被裁剪,两侧没有黑边,铺满屏幕,按图片原始比例显示,图片不变形。
kResolutionShowAll:整个游戏界面是可见的,会按原始比例进行缩放,图片不变形,但两侧可能会留有黑边,不铺满屏幕。
kResolutionExactFit:整个游戏界面是可见的,图片可能会进行拉伸或者压缩处理,铺满屏幕,图片会变形。

以下语句设置适配策略:

CCEGLView::sharedOpenGLView()->setDesignResolutionSize(320,480,kResolutionExactFit);

air android 测试

最初开始是自己下载的air sdk.

结果走了不少弯路,不过还好。

现在终于把air sdk固定在4.6,这样的话,so及其它文件都需要重新进行提取。

晕了,是使用的3.6还是4.6,晕。第二天才发现一直测试的3.6,还没有测试4.6,重新来过,把4.6弄出来。

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

 

2、设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

 

3、设置Activity的android:configChanges=”orientation|keyboardHidden”时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

4、修改surface显示区域的大小:

FrameLayout.LayoutParams params = new android.widget.FrameLayout.LayoutParams(
200, 200);

m_mainView.setLayoutParams(params);

以下为在eclipse中的创建过程:

1、assets中添加META及swf

2、添加类AppEntry及GetVersionCode

3、添加classes.jar air运行类库

4、添加lib下的air运行库*.so

5、Application.mk中添加:

APP_ABI := armeabi armeabi-v7a x86 用来指定生成哪个版本的so文件。

 

 

swf打包为android app

使用air sdk.

参考文档:

http://help.adobe.com/zh_CN/air/build/WS901d38e593cd1bac1e63e3d128cdca935b-8000.html

http://help.adobe.com/zh_CN/air/build/WS5b3ccc516d4fbf351e63e3d118666ade46-7f72.html

http://help.adobe.com/zh_CN/air/build/WS901d38e593cd1bac-4f1413de12cd45ccc23-8000.html

http://help.adobe.com/en_US/air/build/WSBE9908A0-8E3A-4329-8ABD-12F2A19AB5E9.html

 

java -jar C:\Users\joycube2\Downloads\AIRSDK_Compiler\lib\adt.jar -package -target apk-captive-runtime -storetype jks -keystore cer/android.keystore bin/MyGame.apk src/MyGame-app.xml src/BattleHeroMovieTest.swf assets

如果在windows下报找不到icon的错误,请注意上面指令中最后加上assets路径

 

还有一个重要的参考:

https://code.google.com/p/android-java-air-bridge/w/list

 

 

flash解析小笔记

1、 8.8格式float读取,使用ui16读取后除以256,即可得到对应的float值.