About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Feb

    20

    强大的JSFL,开发Flash拓展插件

    • 0 Comments
    • Flash Platform

    1、Creating Flash Extensions — Pt. 1: Introduction

    介绍jsfl,如何从history中查看jsfl,对jsfl有基础的认识。

    2、Creating Flash Extensions — Pt. 2: The DOM

    dom结构,就是fla在jsfl语言中结构:

    fl.documents[0].timelines[0].layers[0].frames[0].elements[0];

    3、Creating Flash Extensions — Pt. 3: Manipulating the Library

    如何操作资源库,作者通过对不同类型的资源进行文件夹管理,很实用.

    创建一些交互界面,alert弹窗,确认弹窗等。 

    5、Creating Flash Extensions — Pt. 5: SWF Panels :

    用swf发布来做自定义面板,是不是很库呢?作者也推荐了几款相应的swf面板组件。 

    6、Creating Flash Extensions — Pt. 6: Custom Tools 

    自定义工具,这里可以让你自己做个画图工具了。 

     

    7、Creating Flash Extensions — Pt. 7: Distributing to Others :

    打包你开发的拓展,可以发给设计人员,也可以分享给其他人了。

     

    原文地址链接

    http://blog.fireyang.com/2011/03/29/2011-03-29-%E5%BC%BA%E5%A4%A7%E7%9A%84jsfl/

    其它相关链接

    http://kevincao.com/tag/jsfl/

    http://kevincao.com/2011/03/introduce-kafecomponent-part-2/

    Feb

    19

    第一个(在桌面上正常,在移动设备上有破音的 Bug):

    http://blog.andre-michelle.com/upload/mp3pitch/MP3Pitch.as

    第二个(这个无论是在桌面上还是移动设备上都正常,而且还有倒着播放音乐的功能):

    https://gist.githubusercontent.com/soyyo5159/4424117/raw/4765f856133538e29fec2729b03b577ef58d37ca/FrequencyChangeSound.as

    More...

    Jan

    24

    桌面  AIR 开发使用 openWithDefaultApplication 报以下错误:

    Error: Error #3000: Illegal path name.

    1、确认路径是否正确。

    2、-app.xml 文件添加配置

    <supportedProfiles>extendedDesktop</supportedProfiles>

    如果不是 extendedDesktop 项目,仅仅只是在 supportedProfiles 填写了 desktop ,在 debug 模式下同样会报错,正式发布后就好了。或者同时将两个都写上:

    <supportedProfiles>extendedDesktop desktop</supportedProfiles>

    extendedDesktop 要放在前面,desktop 放在后面,这样在调试模式下也不会报错。

    Jan

    21

    在一个简单的 Alert 警告框后,如果想将程序化的设置某个文本输入框的焦点,可以在 Alert 的 CloseEvent 事件侦听器里设置,但那样会多写不少代码。一个小技巧是直接在 Alert 之前对想要设置的文本框调用 setFocus() 方法,就可以在关闭 Alert 后显示聚焦了(不要写在 Alert.show 的后面)。

    someTextInput.setFocus();//一定记得写在Alert前面
    Alert.show("someTextInput 不能为空。");
    //someTextInput.setFocus();//不要写在Alert后面 

    Jan

    16

    许多中低端安卓设备的性能普遍比较低,在安卓配置的节点中加入 colorDepth 参数,强制 16 位颜色,可以提供应用的性能(会牺牲颜色保真度,颜色过渡可能会不自然),尤其是在使用 Stage2D 原生显示对象开发时它会特别有用。

    <android>
        <colorDepth>16bit</colorDepth>
        <manifestAdditions><![CDATA[
            <manifest android:installLocation="auto">
                <!--删除 android.permission.INTERNET 权限将导致无法调试设备上的应用程序-->
                <uses-permission android:name="android.permission.INTERNET"/>
                <!--其它的已省略-->
            </manifest>
        ]]></manifestAdditions>
    </android>

    特别注意的是,当应用中包含视频并使用了 StageVideo 时,就必须使用 32 位,否则就会无法播放。

    Jan

    14

    AIR SDK 19+ for iOS 加载远程资源

    • 0 Comments
    • Flash Platform

    一段普通常见的加载代码:

    var loader:Loader = new Loader();

    loader.load(new URLRequest("http://www.zinewow.com/images/logo.gif"));

    this.stage.addChild(loader);

    桌面 AIR (包括模拟器)加载服务器远程资源时一般只要路径正确就不会出问题, 真机调试时除了路径必须正确之外,还要求符合苹果的安全限制。否则在 AIR SDK 19+ 以上的版本就会报以下的错误: 

    Error #2044: Unhandled IOErrorEvent:. text=Error #2036: Load Never Completed

    真机调试必须在 -app.xml 里针对 iPhone 节点添加以下配置,以便允许 APP 可以访问所有域名和 IP 地址:

    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>

    也可以是单个的域名和 IP 地址:

    <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSExceptionDomains</key>
            <dict>
                <key>你的域名.com或你的IP地址</key>
                <dict>
                    <key>NSIncludesSubdomains</key>
                    <true/>
                    <key>NSExceptionAllowsInsecureHTTPLoads</key>
                    <true/>
                </dict>
            </dict>
        </dict>

    这些配置要求是 Apple 出于 iOS 系统中对 APP 的网络安全相关的内容《Information Property List Key Reference》,并不是属于 Adobe 公司 AIR 的安全限制,所以在 Adobe 上是找不到这些资料的。只要 Adobe 的程序员使用的 XCODE 版本升级后保持最新,那么他们所编译出来的 AIR SDK 版本也一定会符合 Apple 的新规定。AIR SDK 旧版本比如16、17等版本并不会报这个错误,因为这个配置要求是苹果公司 2015 年中时提出的,所以新的 19 + 以上的 SDK 版本才会报这个错误。

    Dec

    18

    starling 库 Sprite3D 翻转动画

    • 0 Comments
    • Flash Platform

    用starling做 3D 翻转/旋转效果就是这么简单:

    //样例主代码,以Y轴旋转为例(其它代码都省了)
    var sprite3d: Sprite3D = new Sprite3D();
    sprite3d.addChild(frontImage)//frontImage是一个starling Image对象
    sprite3d.addChild(backImage)//backImage是一个starling Image对象

    sprite3d.x = 300;
    sprite3d.y = 300;
    sprite3d.pivotY = sprite3d.height / 2//让它沿着容器的中间旋转
    sprite3d.pivotX = sprite3d.width / 2;

    addChild(sprite3d);

    //为了偷懒直接用了TweenLite类,否则要添加侦听器,再加Juggler神马神马的很烦人
    TweenLite.to(sprite3d, 2
    {
        rotationY: Math.PI,
        onUpdate: onUpdateHandler,
        onUpdateParams: [sprite3d]
    });

    var vector3D: Vector3D = new Vector3D();

    function onUpdateHandler(_sprite3d: Sprite3D): void 
    {
        vector3D = stage.getCameraPosition(_sprite3d);
        //设置平面图片在旋转时的可见性
        frontImage.visible = vector3D.z > 0;
        backImage.visible = !frontImage.visible;
    }

    Dec

    11

    Flex 组件:ArdisiaLabs

    • 0 Comments
    • Flash Platform

    QQ 群里偶然看到的一个 Flex 组件 ArdisiaLabs。DEMO 地址:http://www.ardisialabs.com/demo/

    点了 DEMO 看了一下,组件类型挺丰富的,对官方原先的组件功能也有对应的功能上的扩展,而且提供了扁平化的设计风格。感觉上性能比 Flex 版本的 IBM ILOG Elixir Enterprise 组件要好一点,但缺少重量级的组件。

    Nov

    17

    很多链接已经打不开了,很多资料正在流失,仅为了收藏一下。
     

    More...

    Nov

    17

    Adobe 官方 Game SDK 的 API 手册链接:http://www.adobe.com/devnet-docs/gamingsdk/anedocs/