Adobe Air & Adobe Flex & ActionScript & Mobile Dev & HTML5 & RIA & User Experience
原文链接: AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(二)——AIR面向iOS设备的原生扩展 本文的主要内容如下 AIR Native Extension介绍 ANE的组成部分 ActionScript 3.0扩展 Objective-C 扩展 使用ADT打包ANE 使用ADT打包IPA ———————————————————————————— AIR Native Extension介绍 AIR Native Extension (ANE)是AIR 3.0的一项重要特性,简单的说,它允许AIR应用程序通过扩展文件与原生应用程序类库相互通讯,从而让AIR应用实现一些只有原生程序才可以做到的功能。 在ANE出现以前,移动平台上的AIR对系统的访问非常有限,功能的实现都是封装在封闭的,由Adobe定义好的ActionScript 3.0 API内,比如Accelerometer, GeoLocator等AS类。ANE则将AIR彻底开放出来,AIR不再针对具体的功能提供封闭的API,而是允许开发者通过AIR的扩展机制自由调用使用原生语言开发的类库。这样可以让AIR应用程序享有与原生应用程序同等的机会,其意义对Flash技术来说是划时代的。 ———————————————————————————— ANE的组成部分 ANE支持向Windows、Mac OSX、Android和iOS各个平台原生应用程序的扩展,本文只针对iOS平台进行介绍。在iOS平台中,ANE的组成部分基本分为ActionScript 3.0扩展类库和Objective-C原生扩展类库两个部分,这两个部分打包后生成AIR扩展文件(.ane),最后和AIR应用程序一起打包成iOS原生应用IPA文件。如下图所示。 图1 ANE的组成部分 ———————————————————————————— ActionScript 3.0扩展 ANE的AS扩展部分是一个SWC,AIR 3.0 SDK里为flash.external.ExtensionContext类添加了新的方法。如下例所示: import flash.external.ExtensionContext; … private var ext:ExtensionContext; … ext = ExtensionContext.createExtensionContext("com.adobe.appPurchase",""); 在这个例子里,ExtensionContext通过静态方法createExtensionContext()来获得一个实例,参数com.adobe.appPurchase是这个扩展的ID,它非常重要,在扩展的配置文件里和应用程序描述文件中都需要用这个ID进行配对。 调用原生类中定义的方法可以用方法call()来实现,由于是同步调用,所以函数可以有返回值。如在原生类中定义的方法finish,可以用下面的代码来调用。 var [...]
原文链接: AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(一)——概览 阅读本文的基础 ActionScript 3.0编程基础 Apple iOS开发者权限 前言 记得在写Flash开发iOS应用全攻略的时候,不少感兴趣的朋友询问Flash技术是否能实现App Store的应用内付费功能(In-App Purchase,以下简称IAP)。在那个时候我只能说,很抱歉,目前还不支持,但是在半年后的今天,在我提笔写这篇教程的时候,我刚刚完成了一个用Flash技术实现IAP的例子。确切的说,是用AIR 3.0的原生扩展功能(AIR Native Extension,以下简称ANE)实现的。ANE作为AIR 3.0的一项重要特性,为Flash平台往系统底层的功能延伸奠定了基础,为Flash开发者在移动设备上开发商业应用提供了技术保证。它的出现,使AIR更具开放性,随即推动的是使用AIR和原生技术共同开发工作流,AS开发者与Native开发者的关系也将从以往的竞争转为合作。 在这个系列的文章中,我会对ANE做一个详细的介绍,同样介绍的还有苹果IAP的相关知识,最后通过一个具体的例子来讲解从流程到代码,从思路到技巧等各方面的知识点。希望各位朋友在阅读之后可以全面掌握ANE和IAP,并在实际的应用开发中派上用场。 内容提要 本系列文章大概内容如下: AIR面向iOS设备的原生扩展 AIR Native Extension介绍 ANE的组成部分 ActionScript 3.0扩展 Objective-C 扩展 使用ADT打包ANE 使用ADT打包IPA iOS应用内付费的实现原理和准备流程 IAP简介 商品与交易 测试IAP的准备流程 ANE面向IAP的测试和开发 在Native扩展中使用StoreKit框架 ActionScript扩展 ANE-IAP开发实例分享
前段一大部分的时间是在研究Adobe AIR Native Extension实现iOS应用内付费(In-App Purchase),并且在 Adobe 的 James Li 的帮助下测试成功。 现在 Adobe 的 James Li 已经完成了关于 AIR Native Extension实现iOS应用内付费(In-App Purchase) 的全教程。 下面为从 Adobe 的 James Li 转载过来的原稿。 AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(一)——概览 AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(二)——AIR面向iOS设备的原生扩展 AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(三)——iOS应用内付费简介和准备流程 AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(四)——ANE面向IAP的测试和开发
我是 Ticore,論壇上看有人問 Flash CS5.5 用 AS3 建立的 TextField 無法動態設置中文字體 實際測試之後,發現並不是 Flash IDE 的問題 而是 Flash Player 10.2, 10.3 且當 swf version 為 11, 12 時,TextField 用中文名稱設定字型失效 測試程式碼如下: package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; [SWF(width="300", height="200")] public class Main extends Sprite { public function Main() { var txt:TextField = new TextField(); // [...]
我是 Ticore,這次要分享的是用 Pixel Bender 做出來的抽色濾鏡效果 可以依據指定的色彩,調整點陣圖的色彩飽和度 色彩相差越遠的飽和度越低 效果看起來就會像是把特定色彩抽出來了一樣 直接從 RGB 數值去思考會覺得非常難做 其實只要把 RGB 轉為 HSV 色彩模式便簡單許多 拿到 Hue 值之後,便能拿來與設定主色色彩做比較 差越遠的,就把飽和度調得越低 以下便是我自製的 Partial Color Shader 原始碼: <languageVersion : 1.0;> kernel PartialColor < namespace : "PartialColor"; vendor : "Ticore Shih"; version : 1; description : "only keep saturation of assigned color"; > { parameter float hue [...]