这是一篇测试文章abc
Flash通过FlashVars接收外部参数
2009年10月18日 – 23:32
... <param name="FlashVars" value="tag=as3"/> <embed flashvars="tag=as3"/> ...
AS项目,或者Flash里:
stage.loaderInfo.parameters.tag
Flex3项目:
Application.application.parameters.tag
Flex4项目:
FlexGlobals.topLevelApplication.parameters.tag
备忘.
查看火兔照片的小玩意,暂且叫PictureLife吧。
2009年09月3日 – 20:45
这两天突然好玩做了这么个玩意,输入火兔网的帐号即可浏览该用户的所有照片。
地址:
http://app.foxling.cn/picturelife/
功能:
- 鼠标拖动:左右滑动,向左滑动时,自动加载更多的照片(前提是还有更多照片…)
- 鼠标点击空白区域:缩放到合适大小
- 鼠标滚轮:放大,缩小显示区域
- 鼠标点击单张小图:加载该大图,并且放大到原始尺寸。
预览图:

预览图1

预览图2
后续:
仓促弄出来玩玩,有待继续改进。
在Flex中继承ProgrammaticSkin类自定义皮肤
2009年07月6日 – 23:06
通过自定义类的方式创建皮肤,控制性更强,占用的内存更少。
ProgrammaticSkin类是外观元素的基类,它们通过编程方式来绘制自身。
关于ProgrammaticSkin类的更多信息,猛击这里:
http://www.airia.cn/ActionScript3API/livedocs/mx/skins/ProgrammaticSkin.html
自定义类
package skins
{
import flash.display.GradientType;
import flash.display.Graphics;
import mx.skins.ProgrammaticSkin;
public class CustomBG extends ProgrammaticSkin
{
public function CustomBG()
{
super();
}
override protected function updateDisplayList(w:Number, h:Number):void
{
super.updateDisplayList(w, h);
var g:Graphics = graphics;
var fillColors:Array = [0x191919,0x262626,0x191919];
var fillAlphas:Array = [1.0,1.0,1.0];
var fillRatios:Array = [0,127,255]
g.clear();
drawRoundRect(0, 0, w, h, 0, fillColors, fillAlphas,
horizontalGradientMatrix(0, 0, w, h), GradientType.LINEAR,fillRatios );
}
override public function get measuredWidth():Number
{
return 8;
}
override public function get measuredHeight():Number
{
return 8;
}
}
}
在CSS中使用ClassReference调用自定义类
.customBg
{
backgroundSize: “100%”;
backgroundImage: ClassReference(“skins.CustomBG”);
}
Flex 中可能导致内存泄露的地方
2009年07月3日 – 01:49
收集了不少的会导致内存泄露的情况:
事件监听:
对父级对象加了监听函数,会造成内存泄露,例:
override protected function mouseDownHandler(…):void
{
systemManager.addEventListener(“mouseUp”, mouseUpHandler);
......
解决:
在销毁对象的时候,remove掉这些监听,虽然弱引用也可以避免这些问题,但自己掌控感觉更好。
但以下几种情况不会造成内存泄露:
- 弱引用:
someObject.addEventListener(MouseClick.CLICK, handlerFunction, false, 0, true); - 对自己的引用:
this.addEventListener(MouseClick.CLICK, handlerFunction); - 子对象的引用:
private var childObject:UIComponent = new UIComponent; addChild(childObject); childObject.addEventListener(MouseEvent.CLICK, clickHandler);
总之…有addEventListener,就removeEventListener一下吧,要为自己做的事负责~哈哈
清除引用
remove掉子对象后并不会删除该对象,他还保留在内存中,应该将引用设置为null
removeChildren(obj); obj = null;









