03 2014 档案

摘要:Flex的video类对于视频播放在ios操作系统下表现出不兼容,采用调用ios源生播放器的思路,那么怎么调呢?话说Html5 和Flex是竞争关系,这次利用Html5的video标签实现ios播放视频,因为ios下safari浏览器解析Html5页面的video标签时自动调出源生播放器,相信聪明的你已经明白了环境:Flex4.61:首先明白Flex要做的事情就是在Mobile项目中加载Html5页面 Flex封装一个用来加载Html5的容器 (HTML5Video.mxml) 2:第一视图:传递视频url,监听屏幕转向事件并处理 (Sa... 阅读全文
posted @ 2014-03-31 22:38 腐烂的翅膀 阅读(1098) 评论(0) 推荐(0)
摘要:在Flex中多点触摸和手势都需要利用Multitiouch类来完成:1.supportsGestureEvents:判断是否支持手势2.supportsTouchEvents:判断是否支持多点触摸可以利用其maxTouchPoints来获得程序的设备所能处理的触摸点总数量一.触摸事件处理:1.设置输入模式:Multitouch.inputMode的属性为MultitouchInputMode.TOUCH_POINT2.注册相应的事件:TouchEvent.TOUCH_BEGIN/TOUCH_END/TOUCH_MOVE/TOUCH_OUT/TOUCH_OVER/TOUCH_ROLL_OUT/T 阅读全文
posted @ 2014-03-31 22:15 腐烂的翅膀 阅读(350) 评论(0) 推荐(0)
摘要:线性图标下载,方便后面的应用开发http://www.zcool.com.cn/work/ZMzQyODEzMg==.htmlhttp://www.zcool.com.cn/work/ZMzQzMjQ3Ng==.htmlhttp://www.zcool.com.cn/gfx/ZMjk1Mjk2.htmlhttp://www.zcool.com.cn/gfx/ZNDQyNDQ=.htmlhttp://www.zcool.com.cn/gfx/ZMjg1MzA4.html 阅读全文
posted @ 2014-03-31 15:38 腐烂的翅膀 阅读(252) 评论(0) 推荐(0)
摘要:这篇博文将介绍一下在cocos2dx中的一些坐标系统概念:一、 (1)OpenGL坐标系Cocos2D-x以OpenGL和OpenGL ES为基础,所以自然支持OpenGL坐标系。该坐标系原点在屏幕左下角,x轴向右,y轴向上。(2)屏幕坐标系屏幕坐标系使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下。iOS的屏幕触摸事件CCTouch传入的位置信息使用的是该坐标系。因此在Cocos2D-x中对触摸事件做出响应前,需要首先把触摸点转化到OpenGL坐标系。这一点在后面的触屏信息中会详细介绍,可以使用CCDirector的convertToGL方法来完成这一转化。在处理触摸事件的回调. 阅读全文
posted @ 2014-03-31 13:47 腐烂的翅膀 阅读(378) 评论(0) 推荐(0)
摘要:1 简介Pure MVC是在基于模型、视图和控制器MVC模式建立的一个轻量级的应用框架,这种开源框架是免费的,它最初是执行的ActionScript 3语言使用的Adobe Flex、Flash和AIR,现在已经移植到几乎所有主要的发展平台,目前支持两个版本框架:标准和多核,总之,标准版提供了一种简单的编码分离的方法,按照MVC设计概念。除此之外,多版本允许多个PureMVC应用运行在同一个虚拟机;模块化编程在PureMVC实现的经典MVC元设计模式中,这三部分由三个单例模式类管理,分别是Model、View和Controller。三者合称为核心层或核心角色。PureMVC,就如同它的名字是. 阅读全文
posted @ 2014-03-29 18:28 腐烂的翅膀 阅读(1236) 评论(0) 推荐(0)
摘要:本节将讲述Facade,Proxy、Mediator、Command的统一管家。自定义Facade必须继承Facade,在本示例中自定义Facade名称为ApplicationFacade,这个名称也是pureMVC组织建议的名称。先看代码:Applicationfacade代码packagecom.superwulei{importcom.superwulei.controller.StartupCommand;importorg.puremvc.as3.patterns.facade.Facade;publicclassApplicationFacadeextendsFacade{publ 阅读全文
posted @ 2014-03-29 18:22 腐烂的翅膀 阅读(900) 评论(0) 推荐(0)
摘要:本节将讲述pureMVC示例中的Controller层。Controller层有以下文件组成:AddUserCommand.asDeleteUserCommand.asModelPrepCommand.asViewPrepCommand.asStartupCommand.asAddUserCommand。顾名思义,它是添加用户命令。让我们首先看看代码。Addusercommand.as代码packagecom.superwulei.controller{importcom.superwulei.model.UserProxy;importcom.superwulei.model.vo.User 阅读全文
posted @ 2014-03-29 18:21 腐烂的翅膀 阅读(1487) 评论(0) 推荐(0)
摘要:本篇说的是View层,即视图层,在本示例中包括两个部分:MXML文件,即可视控件;Mediator。可视控件可视控件由UserForm.mxml(图1)和UserList.mxml(图2)两个文件组成。UserForm.mxml用于添加用户,UserList.mxml显示用户和删除已添加用户。【图1】【图2】先看UserForm.mxml,既然要添加用户,就一定会要一个方法。你还记得么,在上一篇《pureMVC简单示例及其原理讲解——Model层》中我们提到的UserProxy中有一个ArrayCollection类型的users属性和无返回值的addItem方法,其中users中存储User 阅读全文
posted @ 2014-03-29 18:20 腐烂的翅膀 阅读(850) 评论(0) 推荐(0)
摘要:本节将讲述Model层。Model层有VO和Mediator组成,非常简单,仅仅包含两个类:UserVO和UserProxy。UserVO中的构造器用于初始化用户的添加(通过email和密码),另一个isValid属性验证用户电子邮件是否合法以及密码长度。Uservo.as代码/**UserVO*/packagecom.superwulei.model.vo{publicclassUserVO{publicvaremail:String='';//电子邮件publicvarpassword:String='';//密码publicvarregDate:Date; 阅读全文
posted @ 2014-03-29 18:19 腐烂的翅膀 阅读(798) 评论(0) 推荐(0)
摘要:pureMVC是一个MVC框架,皆在最大限度的减少MVC间的耦合性。本人刚刚接触pureMVC时感到一头雾水,不知从何入手,也不知道从何学习。好在本人有耐性且能看懂英文技术文档,面向对象的编程能力也比较扎实。在这种背景下,终于悟出了pureMVC的原理,能够使用pureMVC进行开发。如果把pureMVC的领悟境界分为若干,我是处于最低境界(潜力很大啊)。好,闲话不说,言归正传。本示例是在理解了官方示例EmployeeAdmin示例的基础之上的简化版,用意是为了更好的理解pureMVC。界面:图片上部控件用于添加用户,下部控件用户显示用户信息和删除已添加的用户【图1】首先:pureMVC既然是 阅读全文
posted @ 2014-03-29 18:17 腐烂的翅膀 阅读(1370) 评论(0) 推荐(0)
摘要:Netscape Navigator 在 90 在年代中期对 JavaScript 进行了集成,这让网页开发人员对 HTML 页面中诸如 form 、frame 和 image 之类的元素的访问变得非常容易。由此 JavaScript 很快成为了用于定制控件和添加动画的工具,到 90 年代后期的时候,大部分的 JavaScript 脚本仅仅完成像“根据用户的鼠标动作把一幅图换成另一幅图”这样简单的功能。随着最近 AJAX 技术的兴起,JavaScript 现在已经变成了实现基于 web 的应用程序(例如我们自己的 Gmail)的核心技术。JavaScript 程序从聊聊几行变成数百 KB 的代 阅读全文
posted @ 2014-03-29 17:37 腐烂的翅膀 阅读(392) 评论(0) 推荐(0)
摘要:如果已读过V8编程入门那你已经熟悉了如句柄(handle)、作用域(scope)和上下文(context)之类的关键概念,以及如何将V8引擎作为一个独立的虚拟机来使用。本文将进一步讨论这些概念,并介绍其他有关V8引擎嵌入C++应用程序的关键概念。V8引擎的API提供了编译执行脚本、访问C++方法和数据结构、处理错误、执行安全检查等功能。你的应用程序可以像使用其他C++库一样使用V8引擎。你可以通过在C++代码中包含头文件include/v8.h来访问V8引擎的API。在V8引擎设计理念这篇文章中提供的背景信息,可能会对您优化您的应用程序有所帮助。句柄和垃圾收集句柄是对保存在堆(heap)中的J 阅读全文
posted @ 2014-03-29 17:36 腐烂的翅膀 阅读(1026) 评论(0) 推荐(0)
摘要:本文档介绍了V8引擎的一些关键概念,并提供了例子hello world指引你入门。Hello World让我们看一个Hello World的示例,它将一个字符串参数作为JavaScript语句,执行JavaScript代码,并将结果打印到控制台。view plaincopy to clipboardprint?intmain(intargc,char*argv[]){//CreateastringcontainingtheJavaScriptsourcecode.Stringsource=String::New("'Hello'+',World'&qu 阅读全文
posted @ 2014-03-29 17:34 腐烂的翅膀 阅读(1814) 评论(0) 推荐(0)
摘要:准备工作(1)本机系统说明:本人机器为win7 64位,32位也可以。(2)软件安装: VISUAL C++ 2010 EXPRESS(Visual Studio 2010也可以); windows下安装NodeJS,可以从官网http://www.nodejs.org下载msi版进行快捷安装;(3)源码准备:从官网下载SourceCode版本node-v0.10.5.tar(笔者下载时的最新代码版本为v0.10.5),解压到windows任意目录下,如D:\node-v0.10.5。编写node的C/C++原生扩展[1]打开Windows命令行cmd.exe,进入D:\node-v0.1.. 阅读全文
posted @ 2014-03-29 17:30 腐烂的翅膀 阅读(604) 评论(0) 推荐(0)
摘要:1.下载前期准备node.js下载地址http://nodejs.org/WebStrom5下载地址:http://download-ln.jetbrains.com/webide/WebStorm-5.0.4.exeWebStrom5注册机地址http://download.csdn.net/detail/youyudehexie/50284332.配置与安装网上有资源,我就不重复了http://www.tuicool.com/articles/UnmaAn3.创建一个简单的node.js工程3.1 安装node.js安装刚才从官网下载的node.js的安装包后,安装的时候请按照默认路径来安 阅读全文
posted @ 2014-03-29 17:26 腐烂的翅膀 阅读(313) 评论(0) 推荐(0)
摘要:Node.js是一个强大的平台,理想状态下一切都都可以用javascript写成。然而,你可能还会用到许多遗留的库和系统,这样的话使用c++编写Node.JS扩展会是一个不错的注意。以下所有例子的源代码可在node扩展示例中找到 。编写Node.js C + +扩展很大程度上就像是写V8的扩展; N... 阅读全文
posted @ 2014-03-29 17:24 腐烂的翅膀 阅读(951) 评论(0) 推荐(0)
摘要:对象ECMAScript做为一个高度抽象的面向对象语言,是通过对象来交互的。即使ECMAScript里边也有基本类型,但是,当需要的时候,它们也会被转换成对象。一个对象就是一个属性集合,并拥有一个独立的prototype(原型)对象。这个prototype可以是一个对象或者null。让我们看一个关于对象的基本例子。一个对象的prototype是以内部的[[Prototype]]属性来引用的。但是,在示意图里边我们将会使用____下划线标记来替代两个括号,对于prototype对象来说是:__proto__。对于以下代码:var foo = { x: 10, y: 20};我们拥有一个这样的.. 阅读全文
posted @ 2014-03-29 17:21 腐烂的翅膀 阅读(201) 评论(0) 推荐(0)
摘要:JavaScript单线程的误解在我接触JavaScript(无论浏览器还是NodeJS)的时间里,总是遇到有朋友有多线程的需求。而在NodeJS方面,有朋友甚至直接说到,NodeJS是单线程的,无法很好的利用多核CPU。诚然,在前端的浏览器中,由于前端的JavaScript与UI占据同一线程,执行JavaScript确实为UI响应造成了一定程度上的麻烦。但是,除非用到超大的循环语句执行JavaScript,或是用阻塞式的Ajax,或是太过频繁的定时器执行外,JavaScript并没有给前端应用带来明显的问题,所以也很少有朋友抱怨JavaScript是单线程而不能很好利用多核CPU的问题,因为 阅读全文
posted @ 2014-03-29 17:19 腐烂的翅膀 阅读(338) 评论(0) 推荐(0)
摘要:前言大家都知道PayPal是另一家迁移到Node.js平台的大型公司,Jeff Harrell的这篇博文Node.js at PayPal解释了为什么从Java迁移出来的原因: 开发效率提高一倍(2个人用更少的时间干了5个人的活), 性能提高一倍, 代码量减少33%, 文件减少40%,深层次原因是Java正在越来越走向封闭,而且变得越来越复杂而且oracle正在对Java收费,参见:Oracle计划发布收费版JVM, 这促使了越来越多的公司加入了去Java化的队伍,外面有很多人说PayPal正在迁移到node.js平台。我很高兴地在这里宣布,传言是真的,我们正在从Java迁移至node.j,由 阅读全文
posted @ 2014-03-29 17:15 腐烂的翅膀 阅读(703) 评论(0) 推荐(0)
摘要:一.CaltrainTimes案列分析:http://www.adobe.com/cn/devnet/flex/articles/caltrain-times-story.html1.确定设计分辨率,并由设计师给出相应的PSD档2.合并图层割图3.根据缩放导出不同的DPI,及相应的文件夹4.UI设计,以保证效率、用户体验、不同DPI下正确渲染5.程序开发,以整合数据和需求,并解决多DPI问题6.优化,完成MXML到AS的手工转换7.根据不同的平台导出相应的发布包/////////////////////////////////////////////////////////////////// 阅读全文
posted @ 2014-03-28 09:24 腐烂的翅膀 阅读(559) 评论(0) 推荐(0)
摘要:1.Performace包含4点:(1)Latency反应时间(2)Scalability:可伸缩性(3)Reliablity:稳定性(4)Availability:可用性2.运行时生命周期:Flex只有两帧frames:Preload frame 和 application frame。每一个flex application 是一个MovieClip,因为每个flex application都有SystemManager,他是继承自flash.display.MovieClip.Flex application的入口是Application layout的容器,他是继承自UIComponen 阅读全文
posted @ 2014-03-28 09:15 腐烂的翅膀 阅读(242) 评论(0) 推荐(0)
摘要:组件实例化生命周期描述了用组件类创建组件对象时所发生的一系列步骤,作为生命周期的一部分,flex自动调用组件的的方法,发出事件,并使组件可见.下面例子用as创建一个btn控件,并将其加入容器中var boxContainer:Box = new Box();//设置Box容器...//创建btnvar b:Button = new Button();b.label = "Submit";...//将btn添加到Box容器中boxContainer.addChild(b);下面的步骤显示了用代码创建一个Button 控件,并将这个控件添加到Box 容器中时所发生的一切:1.调 阅读全文
posted @ 2014-03-28 09:14 腐烂的翅膀 阅读(265) 评论(0) 推荐(0)
摘要:AdobeFlashBuilder4.7Beta终于公开测试了。虽然版本号只增加了.1,增强的新功能可是一点也不含糊。我们一起来看看到底有什么新功能吧!在我看来,最大的改变是终于提供64位版了!随着64位Windows7的普及(64位的硬件从N多年前就普及了),已经为64位应用的普及,提供了良好的基础,64位应用是大势所趋。毕竟,64位应用可以使用更大的CPU带宽和更多的内存,从而带来性能的提升。AfterEffect、Photoshop等早已变成64版的了,而FlashBuilder4.7现在终于也变64位了。不过,官方的ReleaseNotes中并没有提到这项新功能。前几天LeeBrime 阅读全文
posted @ 2014-03-27 22:24 腐烂的翅膀 阅读(5042) 评论(0) 推荐(0)
摘要:1、 Air如何判断android、ios 平台网络连接状态?Android,使用as3原生api:[javascript]view plaincopyif(NetworkInfo.isSupported)//只有android支持NetworkInfo.networkInfo.addEventListener(Event.NETWORK_CHANGE,onNetWorkChanged);onNetWorkChanged();}rivatefunctiononNetWorkChanged(e:Event=null):void{varisActived:Boolean=false;varinte 阅读全文
posted @ 2014-03-27 22:18 腐烂的翅膀 阅读(449) 评论(0) 推荐(0)
摘要:1、 获取最近联系人思路:侦听Geolocation的update事件,获取经度和纬度信息,再把坐标信息上传至服务器,服务器比较坐标信息算出距离,返回最近位置的若干个人。update时间在2种情况下会触发,一是gps,二是网络位置服务,这都要求手机里面必须开一个。注意gps在室内一般都没有信号。部分开放平台已经开放相关api,服务器部分可不用自己写,研究下现有的开放api。2、遍历文件夹里面的所有文件[javascript]view plaincopyvarfile:File=File.applicationDirectory.resolvePath("guessing") 阅读全文
posted @ 2014-03-27 22:17 腐烂的翅膀 阅读(348) 评论(0) 推荐(0)
摘要:在移动设备应用程序中使用滚动条的注意事项通常,如果屏幕的可见区域无法显示全部内容,应用程序将显示滚动条。使用Scroller控件可以在应用程序中添加滚动条。其他组件(例如 Spark List 控件)支持滚动,因此您无需使用 Scroller 组件。有关更多信息,请参阅Scrolling Spark containers。滚动条的点击区域是指屏幕上放置鼠标以执行滚动操作的区域。在基于桌面或浏览器的应用程序中,点击区域是滚动条的可见区域。在移动设备应用程序中,即使屏幕的可见区域无法显示全部内容,也会隐藏滚动栏。隐藏滚动栏可使应用程序使用屏幕的全屏宽度和高度。移动设备应用程序必须区分用户的意图,用 阅读全文
posted @ 2014-03-27 22:13 腐烂的翅膀 阅读(414) 评论(0) 推荐(0)
摘要:在移动设备应用程序中,callout 是在应用程序顶部弹出的容器。该容器可以容纳一个或多个组件,并且支持不同类型的布局。callout 容器可以是模态或非模态容器。模态容器在其关闭之前接受所有的键盘和鼠标输入。非模态容器允许应用程序中的其它组件在该容器处于打开状态时接受输入。Flex 提供了两个可用于将 callout 容器添加到移动设备应用程序中的组件:CalloutButton和Callout。使用 CalloutButton 控件创建 callout 容器CalloutButton控件提供了一种创建 callout 容器的简单方式。通过该组件,您可以定义显示在 callout 中的组件和 阅读全文
posted @ 2014-03-27 22:12 腐烂的翅膀 阅读(320) 评论(0) 推荐(0)
摘要:配置 ActionBar 控件ViewNavigator容器可以定义ActionBar控件。ActionBar 控件为标题控件、导航控件和操作控件提供了标准的区域。通过该控件,可以定义可在应用程序任何位置或特定视图中访问的全局控件。例如,可以使用 ActionBar 控件添加主页按钮、搜索按钮或其他选项。对于仅有一个部分(即只有一个 ViewNavigator 容器)的移动设备应用程序而言,所有视图共享同一个操作栏。对于带有多个部分(即带有多个 ViewNavigator 容器)的移动设备应用程序而言,每个部分都会定义各自的操作栏。使用 ActionBar 控件定义操作栏区域。ActionBa 阅读全文
posted @ 2014-03-27 22:11 腐烂的翅膀 阅读(330) 评论(0) 推荐(0)
摘要:移动设备设备应用程序的运行经常被其它操作(例如短信、电话或其它移动设备应用程序)中断。通常,当重新启动被打断的应用程序时,用户希望应用程序恢复先前的状态。通过持久化机制,设备可以将应用程序恢复为先前的状态。Flex 框架为移动设备应用程序提供两种持久化机制。内存持久化机制用于在用户进行应用程序导航时保存视图数据。会话持久化机制用于在用户退出应用程序后重新启动时恢复数据。由于移动操作系统随时都可能退出应用程序(例如当内存不足时),因此会话持久化机制在移动设备应用程序中非常重要。博客 Steve Mathews 编写了一个有关Flex 移动设备应用程序中的简单数据持久性的手册条目。博客 Holly 阅读全文
posted @ 2014-03-27 22:09 腐烂的翅膀 阅读(301) 评论(0) 推荐(0)
摘要:示例文件flex-mobile-dev-tips-tricks-pt2.zip 关于Flex移动开发的提示和技巧有一系列文章,这是其中的第二部分。第一部分集中讲解如何在视图切换及应用程序操作切换之间处理数据。本部分的主要内容是为ActionBar及选项卡组件设置样式。 当您在Flex4.5中构建TabbedViewNavigatorApplication时,您可以通过几种不同的方法个性化应用程序的选项卡及ActionBar(即标题栏,包含标题文本以及其他组件或导航内容)。其中一种方法是利用您自定义的素材资产(asset)(比如利用FXG或者皮肤)来设置选项卡的样式。但是如果您的应用程序不需.. 阅读全文
posted @ 2014-03-27 22:08 腐烂的翅膀 阅读(431) 评论(0) 推荐(0)
摘要:创建移动设备应用程序容器移动设备应用程序中的第一个标签通常是以下标签之一:标签用于定义只有一个部分的移动设备应用程序。标签用于定义有多个部分的移动设备应用程序。开发用于平板电脑的应用程序时,屏幕大小限制并不像在手机应用程序中那样重要。因此,对于平板电脑,不需要以小视图来构建应用程序。可以使用标准 Spark Application 容器以及受支持的移动设备组件和外观来构建应用程序。注:在开发任何移动设备应用程序时(即使是用于移动设备的程序),都可以使用 Spark Application 容器。但是,Spark Application 容器不支持视图导航、数据持久化机制、设备的后退和菜单按钮。 阅读全文
posted @ 2014-03-27 22:02 腐烂的翅膀 阅读(231) 评论(0) 推荐(0)
摘要:ECMAScript for XML 规范定义了一组用于使用 XML 数据的类和功能。这些类和功能统称为E4X。ActionScript 3.0 包含以下 E4X 类:XML、XMLList、QName 和 Namespace。E4X 类的方法、属性和运算符旨在实现以下目标:简单 — 在可能的情况下,使用 E4X 可以更容易地编写和理解用于使用 XML 数据的代码。一致 — E4X 背后的方法和推理在内部是一致的,并与 ActionScript 的其他部分保持一致。熟悉 — 使用众所周知的运算符来处理 XML 数据,如点 (.) 运算符。注:ActionScript 2.0 中有一个不同的 X 阅读全文
posted @ 2014-03-27 22:00 腐烂的翅膀 阅读(196) 评论(0) 推荐(0)
摘要:可以嵌入要在移动设备应用程序中使用的字体,但有一些限制条件。由于Label控件使用 FTE(因此使用 CFF 字体),在移动设备应用程序中嵌入字体时应使用具有基于 TextField 外观的TextArea或TextInput控件。不能嵌入具有基于 StageText 外观的字体。通常情况下,在移动设备应用程序中应避免使用 FTE。在您的 CSS 中,将embedAsCFF设置为false,并应用基于 TextField 的外观,如下例所示: @namespace s "library://ns.adobe.com/flex/spark"; ... 阅读全文
posted @ 2014-03-27 21:51 腐烂的翅膀 阅读(289) 评论(0) 推荐(0)
摘要:一.File和FileStream对象File和FileStream是AIR文件系统中,重要的组成部分,File对象有许多属性,用于唯一区别它与文件系统上的其他文件对象,属性包括:url/nativePath/name/creationDate/modificationDate/exists/size/spaceAvailable/creator/type/extension/isDirectory/isHidden/isPackage/parent不要以绝对路径创建File对象,而应该利用File的5个静态属性:1.File.applicationStorageDirectory:对应于An 阅读全文
posted @ 2014-03-27 21:41 腐烂的翅膀 阅读(436) 评论(0) 推荐(0)
摘要:范例文件flex-mobile-development-tips-tricks-pt5.zipThis is Part 5 of a multipart series of articles that cover tips and tricks for Flex mobile development. Earlier parts focused on:Handling data when switching between views and between application executionsStyling the ActionBar and tab components in yo 阅读全文
posted @ 2014-03-27 19:08 腐烂的翅膀 阅读(233) 评论(0) 推荐(0)
摘要:1.现有成熟Flex框架 Cairngorm (Adobe Open Source) - MVC framework PureMVC (Open Source) - MVC framework Mate (Open Source) - tag-based, event-driven Swiz (Open Source) - Metadata-based Dependency Injection Spring ActionScript (Open Source) – IOC Framework parsley(ipen Source) - IOC 框架,元标签2.Cairngorm http:/ 阅读全文
posted @ 2014-03-27 19:07 腐烂的翅膀 阅读(1144) 评论(0) 推荐(0)
摘要:支持多个屏幕大小和 DPI 值的指导原则要部署独立于平台的应用程序,应了解不同的输出设备。设备可以具有不同的屏幕大小或分辨率以及不同的 DPI 值或密度。Flex 工程师 Jason SJ 在他的博客中介绍了两种创建与分辨率无关的移动设备应用程序的方法。术语分辨率是像素高度乘以像素宽度得到的数值:即设备支持的像素总数。DPI是每平方英寸的点数:即设备屏幕上的像素密度。术语 DPI 和 PPI(每英寸像素数)可以互换使用。Flex 对 DPI 的支持以下 Flex 功能简化了生成与分辨率和 DPI 无关的应用程序的过程。外观移动设备组件与 DPI 有关的外观。默认移动设备外观无需额外编写代码,即 阅读全文
posted @ 2014-03-27 19:03 腐烂的翅膀 阅读(593) 评论(0) 推荐(0)
摘要:范例文件mobile-skinning-part3在关于创建Flex移动皮肤系列文章的第二部分里,我们讨论了屏幕密度(DPI)对组件皮肤以及移动应用布局所带来的影响。 我还展示了如何使用缩放应用,特定密度的位图,以及CSS元媒介查询以调整和适应多种DPI值。除了屏幕尺寸,屏幕密度以及外形差异以外,Flex移动应用开发者必须在着重于各个平台之间的不同点。 除了Android系统以外,Flex4.5.1以及Flash Builder4.5.1还支持两个目标为Flex Mobile项目的平台:苹果的iOS以及黑莓的TabletOS。 这些平台都有各自独特的外观,用户体验,UI图案,以及人机接口规范( 阅读全文
posted @ 2014-03-27 19:01 腐烂的翅膀 阅读(463) 评论(0) 推荐(0)
摘要:范例文件mobile-skinning-part2.zip在这个讨论创建 Flex 移动 skin 的系列的第 1 部分中,我讨论了 Flex 团队在 Mobile 主题中所做的性能优化的原理,提供了一个以性能为主要关注点的简单 Button skin 示例。移动 skin 领域的下一个主要主题是,针对当今可用的各种移动屏幕调整应用程序的外观和感觉。Flex 4.5 增加了一些新特性以支持像素密度不同的移动设备;像素密度也称为每英寸像素数 (PPI) 或每英寸点数 (DPI)。这些特性包括应用程序缩放、多 DPI 位图、基于 CSS @media 查询的样式规则和与 DPI 相关的 Mobil 阅读全文
posted @ 2014-03-27 19:00 腐烂的翅膀 阅读(608) 评论(0) 推荐(0)
摘要:范例文件mobile-skinning-part1.zipFlex 4.5提供的移动增强的皮肤特性,支持触摸交互、性能优良,并且考虑到了内存占用问题。尽管目前市场上有不少性能优异的设备,但典型的Spark皮肤(包括Flex 4引入的默认皮肤)却没有能够在移动设备上得到很好的应用。Adobe为移动优化过的皮肤在设计时就考虑到平衡两个对立的目标:性能优异却又容易创建。虽然MXML皮肤在某些情况下是有用的,但Adobe还是建议遵循以下简单的方针,确保Flex 4.5移动应用程序能够同时满足开发者和最终用户的性能要求。这是介绍Flex 4.5移动皮肤特性系列文章中的第一篇。本文将涵盖创建移动增强皮肤的 阅读全文
posted @ 2014-03-27 18:59 腐烂的翅膀 阅读(327) 评论(0) 推荐(0)
摘要:范例文件flex-mobile-dev-tips-tricks-pt4.zip这是本系列文章的第四部分,该系列文章涵盖Flex移动开发的秘诀与窍门。第一部分关注切换视图以及切换执行应用时的数据处理。第二部分关注动作条的样式以及你的移动应用中的标签组件。在第三部分中,你学会了如何隐藏那些组件,并且你看到了如何将标签组件移动至应用的最顶端。而本部分是关于mx.controls.Alert类在移动应用中的一个替代者。当你使用Flex 4.5开发移动应用时,你可能会很快发现你无法使用mx.controls.Alert类。此时,你很可能想知道显示一个提示或者一个弹出消息的最佳实践方法是什么。在Flex 阅读全文
posted @ 2014-03-27 18:56 腐烂的翅膀 阅读(341) 评论(0) 推荐(0)
摘要:这是关于 Flex 移动应用程序开发的技巧和窍门系列文章的第三部分内容。第一部分内容主要集中讨论了视图之间以及应用程序执行之间切换时的数据处理。第二部分则主要涵盖了应用程序动作条和标签组件风格化方面的内容。在这一部分中,你将会学到如何控制动作条和标签组件的可见性,以及如何把标签组件移动到应用程序的顶端。动作条和标签的隐藏在使用基于TabbedViewNavigatorApplication的Flex移动应用程序的过程中,你可能需要隐藏动作条组件或标签组件。例如,在特定视图下,你可能想获取更大的屏幕空间,或者,你只是想根据个人喜好设置显示界面。在这些情况下,你可以使用View类中的两个有效的道具 阅读全文
posted @ 2014-03-27 18:55 腐烂的翅膀 阅读(309) 评论(0) 推荐(0)
摘要:范例文件flex-mobile-dev-tips-tricks-pt2.zip这是关于Flex移动应用程序开发的技巧和窍门的一系列文章中的第二部分。第一部分内容主要集中讨论了视图之间以及应用程序执行之间切换时的数据处理。而这一部分则主要包括了移动应用程序动作条(ActionBar)和各标签组件的样式设计。当你在Flex 4.5中创建TabbedViewNavigatorApplication时,你可以通过几种不同的方法自定义标签或动作条(包含有标题文本和其他组件或导航内容的标题栏)。一种方法是,使用自己的自定义素材(例如使用FXG格式文件或者皮肤文件)设置标签皮肤。但是,如果你的应用程序不需要 阅读全文
posted @ 2014-03-27 18:53 腐烂的翅膀 阅读(250) 评论(0) 推荐(0)
摘要:这是一个由多个部分组成的系列文章的第一部分,它包含了Flex移动开发的若干技巧。如果你过去习惯于桌面和Web编程,你会发现,开发移动应用程序将面临一系列新的挑战。 除了重新思考你的对数据存储和处理的策略,你还需要考虑屏幕尺寸和分辨率,而且需要在管理性能和电池消耗之间做出取舍。本系列文章将通过提出克服这些新的开发挑战的技术来帮助你轻松地过渡到移动开发领域。数据处理是移动开发涵盖的一个方面,它需要传统的应用程序开发人员采取不同的思维方式。例如,对于许多移动应用程序来说,当用户关闭应用程序或切换到其它应用程序时,或当收到来电时,或当应用程序由于其它一些原因被迫关闭时,保存数据是非常重要的。 此外,移 阅读全文
posted @ 2014-03-27 18:52 腐烂的翅膀 阅读(280) 评论(0) 推荐(0)
摘要:资源下载地址Caltrain Times 的 iTunes下载地址Caltrain Times的Android Market 下载地址Caltrain Times的BlackBerry App World 下载地址Caltrain Times的Amazon App Store 下载地址源文件地址是否有可能开发一款能在不同设备上运行的应用,而这些设备的屏幕分别率,实际物理尺寸大小各异? 说具体点,“能不能创建一款视觉完美的应用,能够运行于安卓、iOS和黑莓平板iOS的智能手机或平板电脑环境?”, 简而言之,就是我想开发一款高质量能多界面运行的手机应用。这就是Caltrain Times应用诞生的 阅读全文
posted @ 2014-03-27 18:15 腐烂的翅膀 阅读(307) 评论(0) 推荐(0)
摘要:范例文件Shopping CartSales DashboardExpense Tracker需要的其他产品Android 2.2及更高版本或Android 3.0及更高版本的设备仅仅在Flash Builder 4和Flex 4 SDK发布一年后,新的Flash Builder 4.5和Flex 4.5 SDK版本就已面世!Flex 4.5 SDK和Flash Builder 4.5的关注重点是构建以Google Android、Blackberry Tablet OS和Apple iOS操作系统为目标的移动应用程序的能力。此外,Flex 4.5 SDK针对大型应用程序开发引入了新的Spar 阅读全文
posted @ 2014-03-27 18:12 腐烂的翅膀 阅读(357) 评论(0) 推荐(0)
摘要:本文适用于正在寻找使用Flex 4容器和布局的快速参考指南的开发人员。 尽管这不一定是一个复杂问题,但这似乎是许多开发人员的挫折的来源,特别是对于那些Flex刚刚入门的开发人员。 当开发人员不知道如何正确使用容器和布局时,他们的代码常常包含过多的嵌套容器和大量毫无意义的属性。Flex 容器基本概念Flex 4 容器可以提供一套默认的布局:Basic、Horizontal或 Vertical以及能够基于容器内容的默认尺寸。 当进行子组件对齐操作时,注意你正在使用的容器的最小和默认尺寸。参见表 1。有些容器是可植皮的,如果真是如此,则通过在它们的皮肤上添加Spark Scroller对它们进行滚动 阅读全文
posted @ 2014-03-27 18:11 腐烂的翅膀 阅读(208) 评论(0) 推荐(0)
摘要:比较桌面外观和移动设备外观与桌面外观相比,移动设备外观更加轻量化。因此,它们具有许多不同之处;例如:移动设备外观以 ActionScript 编写。在移动设备上,完全以 ActionScript 编写的外观可以提供最佳的性能。移动设备外观扩展了spark.skins.mobile.supportClasses.MobileSkin类。该类扩展了UIComponent,而SparkSkin类则扩展了Skin类。移动设备外观使用已编译的 FXG 或简单的 ActionScript 图形作为图形资源,用以提高性能。而在桌面应用程序的外观中,通常使用 MXML 图形来组成大多数绘图。移动设备外观无需声 阅读全文
posted @ 2014-03-27 18:06 腐烂的翅膀 阅读(381) 评论(0) 推荐(0)
摘要:在移动设备应用程序中使用文本的指导原则有些 Spark 文本控件已经过优化,适合在移动设备应用程序中使用。可能的情况下,请使用以下文本控件:SparkTextAreaSparkTextInputSparkLabel这些允许用户交互的文本控件(TextArea 和 TextInput)使用StageText类作为基础输入机制。StageText 挂接到基础 OS 的本机文本控件。因此,这些文本控件像本机控件一样,而不像典型的 Flex 控件那样运行。在设备上使用 StageText 的优点是可获得以下功能(如果设备支持这些功能):本机性能以及软键盘的观感自动完成自动纠正触控式文本选择可自定义的软 阅读全文
posted @ 2014-03-27 18:04 腐烂的翅膀 阅读(316) 评论(0) 推荐(0)
摘要:许多设备都不包括硬件键盘。在必要时,这些设备会使用在屏幕中打开的键盘。软键盘又称做屏幕键盘或虚拟键盘,当用户输入信息或取消操作后,软键盘将会关闭。下图显示了一个使用了软键盘的应用程序:根据启用软键盘的组件,软键盘有不同的功能集:本机功能:用于默认文本输入控件 TextArea 和 TextInput 的键盘,它挂接到本机接口,具有自动纠正、自动完成和自定义键盘布局等功能。对完整功能集的支持已内置到基于 StageText 默认外观类的文本输入控件中。并非所有设备都支持所有本机功能。有限功能:用于 TextArea 和 TextInput 之外的任何其它控件的键盘,或者在控件使用基于 TextF 阅读全文
posted @ 2014-03-27 18:03 腐烂的翅膀 阅读(480) 评论(0) 推荐(0)
摘要:五.多分辨率自适应的实现首先我们要设置我们的适配模式为kResolutionFixedHeight:C++1pEGLView->setDesignResolutionSize(960,720,kResolutionFixedHeight);假定我们的游戏为分辨率(960,720)的横版游戏,至于为什么是960×720,最后再告诉大家,这里且让小弟卖个关子!1.背景层对于背景层来说这个问题So Easy,我们只用准备一张比设计分辨率长很多(或高很多,取决于你游戏的方向,另一个方向的尺寸和设计尺寸相同!)的图片即可!这里我们随便找张素材:大家在hellocpp工程中的HelloWo 阅读全文
posted @ 2014-03-27 16:47 腐烂的翅膀 阅读(463) 评论(0) 推荐(0)
摘要:多分辨率的自适应应该是大家比较蛋疼的问题了吧,我之前去找工作面试的时候几乎每一家公司都会问我这个问题!那么什么是自适应呢?我认为就是使用1套或者2套(SD,HD)分辨率的资源自动去适应任何分辨率的设备,画面完整清晰!一.前辈们的文章关于多分辨率的自适应,网上你会搜到一大篇的文章,但其实都是大家转来转去的文章,有好些转载的文章甚至没有说明出处,真的很无耻唉!尤其是使用百度搜索的时候,可能得翻好几页才能找到原文,我整理了下讲的好的就这么5篇文章:1.官网上的这篇:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Multi_resolution_su 阅读全文
posted @ 2014-03-27 16:46 腐烂的翅膀 阅读(619) 评论(0) 推荐(0)
摘要:最近两个项目大量使用了CocosBuilder, 对于开发效率提高是巨大的. 一直计划写一篇博客谈谈CocosBuilder的多分辨率问题, 懒病加上一些疙疙瘩瘩的小事情, 拖延了一个多月, 才终于下定决心要尽快完成这篇博客.在这篇文章中, 假定你比较熟悉CocosBuilder, 如果您还不是很熟悉CocosBuilder, 推荐您看下我的另外一篇文章. 从零开始学习CocosBuilder 我还是小菜鸟一个, 难免会有很多错误, 还望各位看客不吝赐教.版本: Cocos2d-x 2.1.4http://cocos2d-x.googlecode.com/files/cocos2d-x-... 阅读全文
posted @ 2014-03-27 16:44 腐烂的翅膀 阅读(699) 评论(0) 推荐(0)
摘要:从Cocos2d-x 2.0.4开始,Cocos2d-x提出了自己的多分辨率支持方案,废弃了之前的retina相关设置接口,提出了design resolution概念。有以下相关接口:CCEGLView::sharedOpenGLView()->setDesignResolutionSize()//设计分辨率大小及模式CCDirector::sharedDirector()->setContentScaleFactor()//内容缩放因子CCFileUtils::sharedFileUtils()->setResourceDirectory()//deprecatedCCF 阅读全文
posted @ 2014-03-27 16:42 腐烂的翅膀 阅读(560) 评论(0) 推荐(0)
摘要:最近遇到多分辨率支持问题,所以查了一些资料。将一些收获共享一下,以便自己和其他需要的朋友日后参考。如果我要建立一个cocos2d-x项目,我的目标是支持iphone3G( 480, 320 ),iphone4/4s( 960, 640 ), iphone5( 1136, 640 ),ipad1/2( 1024, 768 ),ipad 3( 2048, 1536 ),以及所有android设备(其分辨率可能是( 800, 480 )等其它各种分辨率)?我该如何规划呢?但在你规划之前是否清楚cocos2d-x是如何为多分辨率支持进行设计的?所以首先来看一下,cocos2d-x提供的基本支持。Coc 阅读全文
posted @ 2014-03-27 16:41 腐烂的翅膀 阅读(178) 评论(0) 推荐(0)
摘要:cocos2d-x 2.0 提供一个极有价值的新特征: setDesignResolutionSize() 。这个函数用于指定一个 OpenGL 视图,然后将这个视图映射到设备屏幕上。根据不同的设定,视图会自动缩放显示内容,为 cocos2d-x 自适应多种分辨率提供了基本支持。不过要真正实现自适应分辨率,从场景设计、美术制作到程序编写,都需要遵循一套规范,才能极大减少工作量。注意:本文假定游戏是横向显示的。~明确自适应多种分辨率的需求要让游戏在不同分辨率下都获得良好的用户体验,应该满足这几个要求:背景图填满整个画面,不出现黑边;背景图的主要内容都显示在屏幕上,尽可能少的裁剪图片(减少超出屏幕 阅读全文
posted @ 2014-03-27 16:39 腐烂的翅膀 阅读(289) 评论(0) 推荐(0)
摘要:应用自定义移动设备外观可以将自定义外观应用到移动设备组件,其方法与将自定义外观应用到桌面应用程序中的组件相同。以 ActionScript 应用外观// Call the setStyle() method: myButton.setStyle("skinClass", "MyButtonSkin");以 MXML 应用外观 以 CSS 应用外观// Use type selectors for mobile skins, but only in the root document: s|Button { skinClass: ClassReferenc 阅读全文
posted @ 2014-03-27 16:21 腐烂的翅膀 阅读(215) 评论(0) 推荐(0)
摘要:自定义移动设备外观时,可以创建自定义的移动设备外观类。在某些情况下,也可以编辑移动设备外观类所使用的资源。编辑移动设备外观类时,可以更改基于状态的交互,实现对新样式的支持,或者在外观中添加或删除子组件。通常可以从现有外观的源代码入手,将其保存为新类。也可以编辑移动设备外观所使用的资源来更改外观的可视属性,如大小、颜色、渐变和背景。在这种情况下,也可以编辑外观所使用的 FXG 资源。移动设备外观所使用的源 *.fxg 文件位于 spark/skins/mobile/assets 目录下。并非移动设备外观的所有可视属性都在 *.fxg 文件中定义。例如,Button 外观的背景色由 ButtonS 阅读全文
posted @ 2014-03-27 16:13 腐烂的翅膀 阅读(223) 评论(0) 推荐(0)