1、隐式getter和setter
例:
package { public class Counter { private var _count:uint; public function Counter( ) { _count = 0; } public function get count( ):uint { return _count; } public function set count(value:uint):void { if(value < 100) { _count = value; } else { throw Error( ); } } } } 调用: var counter: Counter = new Counter(); counter.count = 5; //赋值 trace(counter.count) //取值
=======================================================================
2、类不想再被继承,可以使用final。 如 final public class Example
=======================================================================
3、检测操作系统:
使用flash.system.Capabilities.os 属性
例:
var os:String = System.capabilities.os.substr(0, 3); if (os == "Win") { // Windows-specific code goes here } else if (os == "Mac") { // Mac-specific code goes here } else { // Must be Unix or Linux }
=======================================================================
4、检测浏览器分辨率
trace(flash.system.Capabilities.screenResolutionX);
trace(flash.system.Capabilities.screenResolutionY);
======================================================================
5、stage及影片缩放
stage 并不是个全局对象,但是它是任何可视化对象的一个属性
stage.scaleMode可以设置影片缩放,取值(StageScaleMode.SHOW_ALL、StageScaleMode.NO_BORDER、StageScaleMode.EXACT_FIT、StageScaleMode.NO_SCALE)
一、StageScaleMode.SHOW_ALL:Flash 播放器默认的缩放模式是showAll。这种模式会按照影片原始比例进行缩放以适应播放器大小。这样如果播放器的比例和影片的比例不一致就会导致电影边框的出现
二、StageScaleMode.NO_BORDER:在保持原始比例下进行缩放以适应播放器,但是,如果播放器和影片比例不匹配,影片显示不下的会被剪切掉
三、StageScaleMode.EXACT_FIT:缩放影片适应播放器,它改变了电影原始比例,如果必要,它会匹配播放器,这样电影总是填充整个播放器,但是这样电影中的元素可能会扭曲
四、StageScaleMode.NO_SCALE:不进行缩放,保持原始比例
======================================================================
6、禁用右键菜单项 (Settings和About是不能移除的)
stage.showDefaultContextMenu = false;
======================================================================
7、检测是否能播放音频和视频
flash.system.Capabilities.hasAudio //检测是否有音频设备
flash.system.Capabilities.hasMP3 //检测是否有播放mp3的能力
flash.system.Capabilities.hasEmbeddedVideo //是否有播放视频的能力
flash.system.Capabilities.hasStreamingVideo //是否能播放视频流
flash.system.Capabilities.hasVideoEncoder //是否有视频编码能力
======================================================================
8、swf被访问安全性
创建一个策略文件,此文件放在网站的虚拟目录下
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="www.otherdomain.com" />
<allow-access-from domain="*.adobe.com" />
<allow-access-from domain="123.45.67.89" />
<site-control permitted-cross-domain-policies="all"/> //此句为flash10设置
</cross-domain-policy>
======================================================================
9、toString(radix)输出指定进制,和parseInt(str,radix)
radix为指定要输出的进制数
如 toString(2) 、 toString(16)
parseInt输出 指定进制数的字符串 转为数字,
如:
parseInt("110011",2) //51 即二进制的110011对应的数字
parseInt("19", 16)
======================================================================
10、round()
Math.round()四舍五入、Math.floor( ) 去掉小数部分,Math.ceil( ) 去掉小数部分后自动加1:
NumberUtilities.round(number, roundToInteval)
//number要舍入的值,roundToInteval间隔值
如:
trace(NumberUtilities.round(Math.PI)); // 显示: 3
trace(NumberUtilities.round(Math.PI, .01)); // 显示: 3.14
trace(NumberUtilities.round(Math.PI, .0001)); // 显示: 3.1416
======================================================================
11、取指定范围内的随机数(NumberUtilities属于ascb包)
// 产生0 到100的整数.
trace(NumberUtilities.random(0, 100));
// 产生0 到100的整数,间隔为5
trace(NumberUtilities.random(0, 100, 5));
======================================================================
12、时间戳
NumberUtilities.getUnique( ) 返回基于毫秒的数字
trace(NumberUtilities.getUnique( ));
======================================================================