-

8个有用的ActionScript类(翻译)

Posted by wpm on Jun 5, 2010 in ActionScript, Articles, Flash, Flex, Resources, Translations, Tutorials, Uncategorized

原文链接:http://ntt.cc/2010/03/14/8-useful-misc-actionscript-class.html 在前面的文章里我已经特别的介绍了一些ActionScript类。例如:Color, TextField, Sound, Button… 这次我为你们准备了一堆各种各样的类。他们很普通并且经常被用于我们的编码工作中。因此他们对你们会有很好的帮助。现在让我们开始学习吧! 1.Survey Lite Library for Flex developers 对FLEX开发者非常有用的Survey Lite Library,这是一个非常基础并且很简单的,甚至还没有接近我们所做的。但是,如果你要创建诸如调查一类的Flex应用程序,它就非常有用了。Survey Lite Library旨在在Flex里不需要通过额外的工作来更加容易的构建用户调查的UI。 2.as3xls 能实现在Flex中阅读和写入 Excel文件。它支持从Excel 2.x版本——2003版本读取文本,数值,公式和日期等,并且能写入文本,数值和日期。公式也能更新,以反映单元格的变化,供他们参考。 3.Scale9Grid Class for Masking in AS3 它能按照9宫格的规则自动进行缩放。这个类允许你使用圆角矩形作为遮罩时,缩放它不会将圆角扭曲变形。 4.Acessing Flash vars in Flex (nice little Util class) 在Flex中访问flash vars中的参数。它使用[Mixin]标签来保证在应用程序在构建完成之前这些参数是有效的。 5.ActionScript 3 Cronjob 它通过使用计划任务语法能帮助你管理重复性任务或者在未来的单个任务。 6.NpContextMenu 该NpContextMenu类是一个相当简单的创建和使用上下文菜单交互的ActionScript 3类。这个类简单的将ContextMenuEvent.MENU_ITEM_SELECT事件再发送给对此感兴趣的响应菜单事件的任何外部类。这使得处理菜单事件和如何建立自己的菜单更加灵活。通过这种使用方法菜单能更加灵活。 7.InteractivePNG InteractivePNG使PNG图像中的透明像素不再响应鼠标交互。 8.Assetloader 资源加载类允许AS3开发者使用一个接口来加载任何文件。资源加载类的目标是使得开发者在加载图片,视频,声音,xml,AV1 SWF和AV2 SWF等资源时的接口更简单。它使用简单的对象符号很容易被开发者进行扩展。 延伸阅读 6款与声音有关的类 6款对字符串很有用的类 7款小而强大的TextField类 [...]

Tags: ,

 
2

Flash键控大全

Posted by wpm on May 2, 2010 in ActionScript, Flash, Flex, Uncategorized

[cc lang="actionscript"] package { public class KeyControlCode { public static var KEY_BACKSPACE:uint=8; public static var KEY_TAB:uint=9; public static var KEY_ENTER:uint=13; public static var KEY_SHIFT:uint=16; public static var KEY_CONTROL:uint=17; public static var KEY_PAUSE:uint=19; public static var KEY_CAPSLOCK:uint=20; public static var KEY_ESC:uint=27; public static var KEY_SPACEBAR:uint=32; public static var KEY_PAGEUP:uint=33; public static var KEY_PAGEDOWN:uint=34; public static var [...]

Tags:

 
-

将编译AS3区分Debug版本和Release版本(转)

Posted by wpm on Apr 25, 2010 in ActionScript, Flash, Flex, Uncategorized

原文链接:http://www.xiaos8.com/article.asp?id=556 首先我们区分AS3的编译版本,目的是让同样的code,如果使用debug编译,则会含有很多测试代码方便调试;如果使用release编译,则不会将调试代码编译进去。 用过Visual Studio(以下简称VS)的程序员都知道,VS在编译时有个debug和release的选项,而flash builder(以下简称fb)在编译时,虽然可以选择不同路径编译,但无法像VS那样真正的区分编译版本。 下面我依然要说,fb的确没办法像VS那样真正的去区分版本进行编译,但fb可以条件编译! 什么是条件编译 一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”。 接下来看看,我们怎么样使用条件编译来完成区分编译Debug版本和Release版本: 1、首先来看一段代码: [cc lang="actionscript"] package { import flash.display.Sprite; public class TestBuild extends Sprite { CONFIG::debug public function TestBuild() { graphics.beginFill(0xff0000,1); graphics.drawRect(0,0,100,100); } CONFIG::release public function TestBuild() { graphics.beginFill(0x0000ff,1); graphics.drawRect(0,0,100,100); } } } [/cc] 2、TestBuild有两个构造函数,不同的是一个构造函数上有CONFIG::debug,一个有CONFIG::release; 通过理解,如果是debug编译画出来的是红色的正方形,而release编译是蓝色正方形。 3、然后我们使用mxmlc命令行对这段代码进行debug编译 mxmlc src/TestBuild.as -define=CONFIG::debug,true -define=CONFIG::release,false -output bin-release/TestBuild.swf 4、得到一个swf文件,打开一看是红色正方形,的确是debug版本编译 点击播放/隐藏媒体 uploads/201004/19_115454_testbuild.swf 5、然后改一下编译参数,进行release编译 mxmlc [...]

Tags: , , , , , , , , , , , ,

 
-

Flash性能监视器(翻译)

Posted by wpm on Feb 25, 2010 in ActionScript, Articles, Flash, Flex, Tutorials, Uncategorized

原文链接:http://www.insideria.com/2009/05/flash-performance-monitoring.html Flex Builder 3内置的性能监视器是很强大的,但是有时候你会需要直接检测网络上的性能情况。如果你仍然在开发并且同时需要调试,什么东西可以作为你的性能监视器呢?我长期都使用一种FPS监视器(不是在Flex Builder’s profiler中的)来作为我私人的Flash程序开发工具。最近我正在寻找一种能够通过显示FPS和内存来帮助我监视我已经开发好的程序的运行状态的东西。这时我找到了 Mr Doob开源的Hi-ReS! 里面的侦测类Stats。 Hi-ReS! Stats displays: FPS-Frames per second, and allows you to increment your application’s FPS by +1 (after each click) to test increasing performance at runtime.每秒帧数,允许(在每次单击后)对自己程序的FPS进行自增,以用来测试运行中增加的性能。 MS -The milliseconds needed to render a frame. 渲染一帧所需要的毫秒速。 MEM – The amount of memory being used.所用的的总内存。 MAX – The maximum [...]

Tags: , , , , , , , , , , , , , , ,

 
-

URL和URI的区别

Posted by wpm on Feb 22, 2010 in ActionScript, Articles, Flash, Flex, Uncategorized

URI是统一资源标识符(Uniform Resource Identifier)的缩写,URL是统一资源定位符(Uniform Resoure Locator)的缩写,另外还有URN也经常使用,它是统一资源名称(Uniform Resource Name)的缩写。URL是通过”通讯协议+网络地址”字符串来唯一标识信息位置及资源访问途径的一种方法;URN则主要用于唯一标识全球范围内由专门机构负责的稳定的信息资源,URN通常给出资源名称而不提供资源位置;URI是一种用字符串唯一标识信息资源的工业标准(RFC2396),它使用的范围及方式都较为广泛,在XML中用URI引用来标识元素的命名空间(Namespace),URI包括了URL和URN,是二者的超集。 URL编码   URL编码-URL编码定义   url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符, 将数据排行等等)作为URL的一部分或者分离地发给服务器。不管哪种情况, 在服务器端的表单输入格式样子象这样:   theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes    URL编码-URL编码规则   URL编码遵循下列规则: 每对name/value由&符分开;每对来自表单的name/value由=符分开。如果用户没有输入值给这个name,那么这个name还是出现,只是无值。任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,当然也包括象 =, &, 和 % 这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。那么汉字的url编码呢?很简单,看例子:“胡”的ascii码是-17670,十六进制是BAFA,url编码是“%BA%FA”。 escape () 函数 public function escape(str:String):String 语言版本 : ActionScript 3.0 Player 版本 : Flash Player 9 将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,大多数非字母数字的字符都替换为 % 十六进制序列。 当用于 URL 编码的字符串时,百分号 (%) 用于引入转义字符,不与模运算符 (%) 等效。 下表显示不会 由 escape() [...]

 
1

[译] FLEX 里的全局错误处理

Posted by wpm on Feb 21, 2010 in Flex, Translations

资讯类型: 翻译 来源页面: http://www.summa-tech.com/blog/2010/01/04/global-error-handling-in-flex/ 资讯原标题: Global Error Handling in Flex 资讯原作者: Brian Gray FLEX 里的全局错误处理 我参与过不少大型的flex应用程序的开发,基本上所有关于平台的事情都让我感到高兴,包括快速构建原型,UI创建方面的强悍,不过运行时错误处理如此之难让我感到很郁闷。当程序缩放时,它会变得很难来保证它不会抛出一个运行时错误,默认的flash播放器没有任何响应,不给任何反馈和提示,这种事情将是不符合期望标准的。我找到了下面的这个方法(直到未来的flash player 10 bata版 支持这个)Jorg birkhold 描述的当任何错误抛出的时候,怎样调用事件分发器来抛出一个事件,代码如下: private function onPreinitialize():void {   // setup global error handling   UIComponentGlobals.catchCallLaterExceptions = true;   systemManager.addEventListener(“callLaterError”, handleErrors); } 我在主程序里添加了一个事件处理函数,做了如下操作: 1.在控制台里打印出堆栈信息以供调试、 2.弹出一个对话框给用户,这个要具体看抛出的是什么样的错误,当然这个不一定会显示到屏幕上,但是一定要确保平滑的过渡,并阻止用户进一步的交互操作 3.如果允许使用Javascript,那么调用JavaScript的方法,在这里你可以做一些你想要做的事情,但是我建议是让用户跳转到一个提示错误的页面,告诉他们那里出错了,给出正确的页面地址,并让他们回到刚刚出错的地方,重新开始。 public function handleErrors(event:Event):void {   if (event is DynamicEvent && event.hasOwnProperty(“error”)) {     // [...]

Tags: ,

 
-

[译] 在Spark的容器组件中使用Halo(mx)的导航组件

Posted by wpm on Feb 21, 2010 in Flex, Translations

资讯类型: 翻译 来源页面: http://www.tink.ws/blog/using-spark-containers-in-mx-navigators/ 资讯原标题: Using Spark Containers in MX Navigators 资讯原作者: 我很喜欢使用mx的导航组件:如ViewStack, TabNavigator等,然而当我们将这些导航组件添加到spark的容器中的时候会出现以下错误提示: The children of Halo navigators must implement INavigatorContent. 解决的办法有以下两种: 1.自己去封装新的spark容器 2.使用spark的NavigatorContent组件( NavigatorContent 扩展了spark的SkinnableContainer ,所以你可以把它当成组或者自定义布局来使用)。 <?xml version=”1.0″ encoding=”utf-8″?> <s:Application xmlns:fx=”http://ns.adobe.com/mxml/2009″                xmlns:s=”library://ns.adobe.com/flex/spark”                xmlns:mx=”library://ns.adobe.com/flex/mx”                minWidth=”955″ minHeight=”600″>       [...]

Tags: , , ,

 
3

swfObject 中 wmode 参数介绍

Posted by wpm on Aug 12, 2009 in ActionScript, Articles, Flash, Flex, Tutorials

wmode 属性 参数值有 Window | Opaque | Transparent|direct|gpu等  eg). Html代码 <param name=“wmode” value=“Opaque”>  说明 “Window”   在 Web 页上用影片自己的矩形窗口来播放应用程序。“Window”表明 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。  “Opaque”   使应用程序隐藏页面上位于它后面的所有内容。  “Transparent”   使 HTML 页的背景可以透过应用程序的所有透明部分进行显示,这样可能会降低动画性能。 “Opaque ”和“Transparent ” 都可与 HTML 层交互,并允许 SWF 文件上方的层遮蔽应用程序。这两种选项之间的差异在于“Transparent”允许透明,因此,如果 SWF 文件的某一部分是透明的,则 SWF 文件下方的 HTML 层可以透过该部分显示出来。 如果忽略此属性,默认值为 Window。仅适用于 object。  通常在flash上设置浮层时要用到wmode这一属性,由于想dreamweaver这类开发工具的object对象都不自带这一属性,所以想要实现flash上添加浮层时,要记得加上这一属性,并将其属性值设置为Opaque或Transparent。      2. 值得注意的是这几种模式下的transparent模式,会导致文本输入框 (InputText)输入不了中文,其他模式下没有这种问题。  

 
6

制作视频播放器遇到的几个问题

Posted by wpm on Aug 3, 2009 in ActionScript, Flash, Flex

1. 隐藏鼠标问题:在视频播放一段时间后将鼠标隐藏掉,如果在鼠标移除视频,不将Mouse.hide() 设为Mouse.show(),会导致整个页面鼠标闪烁不定,所以一定要加roll out事件监听鼠标移出播放器时要将它的Mouse.show(); 2.全屏播放问题:在debug模式下是不能全屏的,所以不要尝试在调试环境下测试你的全屏是否设置成功了,会郁闷死你的。 3.FLVPlayBack问题:设置他的fullScreenTakeOver=true舞台进入全屏模式时,FLVPlayback 组件位于所有内容的顶部并占据整个屏幕。设为false则会显示其他的内容。 3.千万小心不要在trace里写变量变化的代码。O(∩_∩)O~

 
2

as3读取和发送JSON

Posted by wpm on Jul 10, 2009 in ActionScript, Flash, Flex

json是JavaScript Object Notation的简写,是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它是基于JavaScript(Standard ECMA-262 3rd Edition – December 1999)的一个子集,也就是说他是来自于javascript的东西。因为现在ajax的流行,大部分网站会采用ajax的模式和构架,那么json会是一个数据传输的首选(文本方式太简单,要是大数据量的时候无法理解,xml的方式数据量大,在解析的时候会增加服务器负担),那么要是一个网站从 ajax构架的基础上出一个flex/flash版的界面的时候使用json会最少地减少服务器端的程序改动。 JSON的结构写法很容易理解,它原本就是以数据量小和清晰的数据格式而著称的。但是在AS中使用json其实并不是一个必须或是很好的选择,很多时候我们还是会用XML,因为AS对XML的解析已经很好了。 用XML表示如下: <?xml version=”1.0″ encoding=”utf-8″?>   <user>   <name>张三 </name>   <password>123456</password>   <department>技术部</department>   <sex>男</sex>   <age>30</age>   </user> 对于这样一个XML来说,如果数据量大了的确让人头昏眼花,也不好处理,但是如果我们转化成下面这种形式的话: <?xml version=”1.0″ encoding=”utf-8″?>   <user> <people name=”张三” password=”123456″ depattment=”技术部” sex=”男” age=”30″ />   </user> 再跟相应的JSON来比较: {“name”:”张三”,”password”:”123456″,”department”:”技术部”,”sex”:”男”,”age”:”30″} 首先,你需要有一个JSON的类库,建议去下载adobe官方提供的产品外类库:as3corelib。类库的使用就不多说了,大家应该都知道。        先说说获取数据。可以这么说,只要你懂AS3与XML的交互,那么就一定能懂JSON,因为两者几乎是一样的,你唯一需要做的只是了解一下JSON的格式。例如下面这个JSON的例子,就像XML一样,你可以通过任何动态页面来生成这个格式,也可以通过静态的甚至TXT来读取也行。 [{"name":"Hans","age":"32"}, {"name":"John","age":"12"}, {"name":"Zaki","age":"34"}, {"name":"Dr. Cox","age":"88"}] AS中的代码: package { import com.adobe.serialization.json.JSON; import flash.display.Sprite; import flash.events.Event; [...]