Flash、Flex、RIA、web、Linux和我的生活
ActionScript
[译]20个不能错过的ActionScript类库
Dec 18th
本文译自20 Flash Resources and Tools You’ll Want
原文比较老了,所以里面很多东西我改了。
- TweenLite 最快的补间动画引擎。看这个测试。仅3K大小,可用于AS3和 AS2。 滤镜看这里:TweenFilterLite 引擎。
- Papervision3D 最流行的3D引擎。
- Away3D另一个3D引擎。查看范例
- WOW Engine AS3 3D 物理引擎。与 Papervision3D 或者 Away3D配合使用不错。
在Flex中实现聊天表情图片支持-实战篇
Sep 16th
2009年10月29日更新:今天发现,有几个问题,Flash Builder beta2自带的SDK已经解决了(下面标出了),看来beta确实是不能用于正式产品啊……
2009年10月8日更新:Flash Builder beta 2发布后,spark组件中有些类的名称修改了,比如TextFilter改为TextConverter,SimpleText改为Label,TextArea.textview.textFlow改为TextArea.textFlow……因此如果使用beta2,那么下面的源码可能不会编译通过,请自行修改。
我发布“在Flex中实现聊天表情图片支持-资料篇”后,便有许多朋友找我要那个范例的源码。我在文章中就已提过那范例是从网上down来,并非我所做,自然没有源码。不过,也只需要用一个烂大街的方法就能获取源码了(这方法已经被许多老师采用过了,拿一个别人的课件改个名字就能来参赛
),也不知道为啥要源码的同志不想动动手……
那好吧,源码来了。
在Flex中实现聊天表情图片支持-资料篇
Aug 10th
2010年8月24日22:05:14 更新:riaidea的作者自行关闭了googlecode上的开源项目,因此riaidea的源码不能下载了,我也没有源码。
2009年10月9日11:09:14 更新:增加riaidea的范例
2009年9月16日20:34:30 更新:在Flex中实现聊天表情图片支持-实战篇
仔细研究了一下Flex支持表情图片,主要有下面三种方法:
- 使用TextArea,或直接使用TextField的html支持功能,在html中使用<img>标签嵌入表情图片文件。但这样做有两个问题,一是图片文件载入较慢;二是不容易控制载入的图片在文本中的“流向”。虽然可以使用getImageReference获取对图片的引用,但处理起来也比较费力。
- 将文本中需要插入图像的地方留出空白空间,获取空白空间的位置,并使用图像替代。这种方法的缺点在于每次更新文字内容的时候,所有的图片都要重排位置,对性能有一定影响,尤其是文本和图像比较多的情况下。
- 使用Flash Player 10提供的flash.text.engine(简称FTE)提供的高级功能进行处理,具体是使用GraphicElement类,这无疑是更好的方法。Adobe提供的Text Layout Framework(简称TLF)就是架设FTE的基础之上的。
下面是一些我搜集的资料,为后面的实战做个记录:
更多 >
在关闭AIR程序窗口前显示Alert
Mar 1st
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | < ?xml version="1.0" encoding="utf-8"?> <mx:windowedapplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" showStatusBar="false" closing="closeHandler(event)"> <mx:script> < ![CDATA[ import org.zengrong.utils.Dialog; private function closeHandler(evt:Event):void { trace(evt.toString()); evt.preventDefault(); Dialog.confirm('确定退出?', _close); } private function _close($yes:Boolean):void { if($yes) this.nativeApplication.exit(); } ]]> </mx:script> </mx:windowedapplication> |
Flash Player 10中关于TextField的textInput与change事件行为的改变
Oct 7th
偶尔发现原来写的打字测试有问题了,仔细研究了一下,发现是FlashPlayer的原因。
打字游戏中,对文字输入正确与否的判断,我采用的是TextField的textInput事件和change事件。问题就出在这里:将FlashPlayer升级到10以后,这两个事件的行为发生了改变。
在FlashPlaye r10以前,如果在TextField中输入整句的文字,文字有多少个,textInput事件和change事件就会发生多少次。而对于FlashPlayer来说,则是不论文字有多少个,只要是一次输入的,就只会发生一次。这种情况对于英文来说倒是无所谓,但对于中文来讲,由于常用的是词语输入,就会有很大影响。看下面的代码:
更多 >
FMS中变量的作用域-之二
Aug 27th
在FMS中变量的作用域一文中,我曾经研究过这个问题,得到的结论是:
保存在Client中的变量对于每个客户机都是不同的,application中的变量则可以在instance中共享,instance之间不能共享变量。(使用一些变通的方法是可以的)
这里要讨论的,是FMS中到底有哪几种变量作用域(注:这里不讨论函数内部的变量),对于FMS代码中的自定义类,变量的作用域又是什么呢?在FMS的自定义类中,如何调用其他作用域的变量?
更多 >
ActionScript3如何控制使用htmlText属性嵌入动态文本框中的图像?
Jul 29th
2010年9月4日:在Flash Player 10中,已经可以使用新的TLF框架原生支持图片的嵌入和精确的控制了,详见以下几篇文章:
Flash Text Engine、Text Layout Framework在Flex、Flash中的实现
从Flash Player7开始,我们就可以通过动态文本框的htmlText属性,使用<img>标签来嵌入图像或者swf影片。在Flex的LiveDoc中,可以找到这样一段描述<img>标签的“id”属性的文字:
id Specifies the identifier for the imported image. This is useful if you want to control the embedded content with ActionScript.
这说明,可以通过制定id属性,让ActionScript控制嵌入的图像。
但是,怎样控制呢?我在Flex的帮助中并没有找到相关的信息,倒是在Flash CS3的“学习 Adobe Flash 中的 ActionScript 2.0”章节中找到了相关的说明: 更多 >
ActionScript3正则表达式学习笔记(1)-创建正则表达式
Jul 22nd
此笔记是我阅读Flex 2.01 Help后的笔记,并不是帮助的翻译。
===============================================
创建正则表达式有两种方式:
var re1:RegExp = new RegExp("zrong", "i"); var re2:RegExp = /zrong/i; |
在第一种方式中,第二个参数是正则表达式的参数,如果正则表达式不需要参数,则可以将第二个参数使用空字符串代替。
首选的是第二种方式,书写的代码较少,而且对引号不需要转义。但是第二种方式需要使用“\”对“/”进行转义。例如:
var re1:RegExp = new RegExp("1/2 \"ZRong's Blog\"", ""); var re2:RegExp = /1\/2 "ZRong's Blog"/; |
在第一种方式中,针对已经包含“\”的操作符(例如/d、/w),也需要用“\”转义,例如:
var re1:RegExp = new RegExp("\\d+", ""); var re2:RegExp = /\d+/; |
[转][从AS2到AS3之二]访问控制以及命名空间
May 13th
作者:flashlizi 来自:经典论坛
在AS2中我们已经知道有public, private这2个访问控制符,在AS3中增加了internal和protected,并且对类、方法的访问控制更加严格,也更加合理和方便。另外,AS3中还增加了命名空间namespace,这样我们的访问控制更是灵活无比。(public和private相信大家已经熟悉了,故不赘述)如有错误,敬请指正。
internal指明类、变量、常数、方法等在包package级别可访问到。大家可能会问它和public与private的区别。public只能在package{}中才能使用,但public控制的类或方法可以在任何地方访问到;private只能在class{}中才能使用,它控制的类或方法仅能在相应的class中才能访问到。而internal可以在package{}外使用,但它只能作用于这个as文件内部。比如如下DDD.as中代码为: 更多 >
[转][从AS2到AS3之一]常量&操作符&参数
May 13th
作者:flashlizi 来自:经典论坛
随着Flash CS3正式版的发布,估计很多朋友都开始从AS2迁移到AS3了。不过AS3比AS2改变的实在太多,在as2中很多方法属性在as3中并不相同,甚至消失,而且目前帮助文档是E文的,现下的as3基础文章也并不多,因此特开此贴,集合一些基础性的要点,尽量以例子来说明,让大家更快更好的往AS3迁移。文中如有错误,敬请指正。有兴趣的朋友也可以一起来添加
1、常量
先看AS2代码:
var str:String; var num:Number; var boo:Boolean; var obj:Object; var notyped; trace(str+newline+num+newline+boo+newline+obj+newline+notyped); //return undefined undefined undefined undefined undefined |
再看AS3代码:
var str:String; var num:Number; var boo:Boolean; var obj:Object; var notyped; trace(str+"\n"+num+"\n"+boo+"\n"+obj+"\n"+notyped); //return null NaN false null undefined |
Use OpenOffice.org
最新评论