亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Flex 非常實(shí)用的資料

 更新時(shí)間:2009年02月19日 23:32:06   作者:  
找資料的時(shí)候 看到一篇文章很實(shí)用 對(duì)新手的基本問(wèn)題都可以找到,方便查找答案的時(shí)間
【改變輸出swf的尺度,背景顏色或幀頻】
在"Navigator"窗框里右鍵你的項(xiàng)目>選中"Properties">選中"ActionScript Compiler">在"Additional compiler arguments"里輸入你所需要的命令
如想改變背景顏色,請(qǐng)輸入: -default-background-color 0xffffff
【鼠標(biāo)坐標(biāo)】
mouseX mouseY
【檢查變量類(lèi)型并返回布爾值】
is
【檢查變量類(lèi)型并返回類(lèi)型】
typeof
【檢查對(duì)象類(lèi)型并返回該對(duì)象】
as
【是數(shù)字但不是有效數(shù)字問(wèn)題】
var quantity:Number = 15 - "rabbits";
trace(typeof quantity); //顯示: "number" , 但它是NaN (not a number)
trace(quantity is Number); //true
trace(quantity != NaN); //false
//使用isNaN()函數(shù)檢測(cè):
isNaN(quantity); //true
//檢測(cè)變量是否內(nèi)含有效數(shù)字:
!isNaN(quantity); //false
【取消默認(rèn)的嚴(yán)格編譯模式】
在"Navigator"窗框里右鍵你的項(xiàng)目>選中"Properties">選中"ActionScript Compiler">取消"Enabel compile-time type checking"選項(xiàng)
【基元數(shù)據(jù)類(lèi)型和復(fù)雜數(shù)據(jù)類(lèi)型好比"值類(lèi)型"和"引用類(lèi)型"】
基元數(shù)據(jù)類(lèi)型類(lèi)似按值傳遞:
var intOne:int = 1;
var intTwo:int = 1;
trace(intOne == intTwo); //true
【復(fù)雜數(shù)據(jù)類(lèi)型類(lèi)似按引用傳遞】
var arrayOne:Array = new Array("a", "b");
var arrayTwo:Array = arrayOne;
trace(arrayOne == arrayTwo); //true
//-----------------------------------
var arrayOne:Array = new Array("a", "b");
var arrayTwo:Array = new Array("a", "b");
trace(arrayOne == arrayTwo); //false
【優(yōu)化邏輯AND(&&)和OR(||)的小知識(shí)】
對(duì)于邏輯And(&&):
除非條件表達(dá)式的前半部分為真,否則,ActionScript不會(huì)再去求算邏輯AND運(yùn)算符的后半部.如果前半部為假,整個(gè)條件表達(dá)式一定為假,所以再去求算后半部就沒(méi)效率了.
對(duì)于邏輯OR(||):
除非條件表達(dá)式前半部為假,否則,ActionScript不會(huì)再去求算邏輯OR運(yùn)算符的后半部,如果前半部為真,整個(gè)條件表達(dá)式一定為真.
總結(jié):使用邏輯AND(&&)時(shí),把結(jié)果最可能為false的表達(dá)式放到前面;使用邏輯OR(||)時(shí),把結(jié)果最可能為true的表達(dá)式放到前面.
【Timer類(lèi)注意事項(xiàng)】
不要認(rèn)為T(mén)imer可以極其準(zhǔn)確;使用Timer時(shí)間間隔不要低于10毫秒.
【private,protected,internal,public訪問(wèn)權(quán)限】
private:只能在類(lèi)本身內(nèi)部訪問(wèn),按慣例,命名私有成員時(shí)以下劃線"_"開(kāi)頭;
protected:可以由類(lèi)本身或任何子類(lèi)訪問(wèn).但這是以實(shí)例為基礎(chǔ)的.換言之,類(lèi)實(shí)例可以訪問(wèn)自己的保護(hù)成員或者父類(lèi)的保護(hù)成員,但不能訪問(wèn)相同類(lèi)的其它實(shí)例的保護(hù)成員,按慣例,命名保護(hù)成員時(shí)以下劃線"_"開(kāi)頭;
internal:可以由類(lèi)本身或者相同包內(nèi)的任何類(lèi)訪問(wèn);
public:可以在類(lèi)內(nèi)部訪問(wèn),也可以由類(lèi)實(shí)例訪問(wèn),或者聲明為static時(shí),可以直接從類(lèi)訪問(wèn).
【一個(gè)函數(shù)具有未知個(gè)數(shù)的參數(shù),用arguments對(duì)象或"...(rest)"符號(hào)訪問(wèn)它的參數(shù)】
注意:使用"...(rest)"參數(shù)會(huì)使 arguments 對(duì)象不可用;
private funciton average():void{
trace(arguments.length); //輸出參數(shù)的個(gè)數(shù)
// arguments的類(lèi)型是:object,但可以像訪問(wèn)數(shù)組一樣去訪問(wèn)它
trace(arguments[1]); //輸出第二個(gè)參數(shù)
}
private function average(...argu):void{
trace(argu[1]); //輸出第二個(gè)參數(shù),argu參數(shù)名是自定義的.
}
【錯(cuò)誤處理try,catch,finally】
private function tryError():void{
try {
trace("測(cè)試開(kāi)始-try");
throwError();
}catch(errObject:Error) {
trace("錯(cuò)誤信息:" + errObject.message);
trace("測(cè)試結(jié)束-catch");
return;
}finally{
trace("雖然catch里已經(jīng)有return方法,但位于return方法后面的finally里的代碼依然會(huì)被執(zhí)行.其實(shí)無(wú)論return方法是在try里,還是catch里,finally里的代碼始終會(huì)被執(zhí)行");
}
trace("前面已經(jīng)有return了,此處是不會(huì)再執(zhí)行的.除非沒(méi)有拋出錯(cuò)誤,以使catch里的代碼沒(méi)有被執(zhí)行");
}
private function throwError():void{
throw new Error("拋出錯(cuò)誤");
}
【for...in與for each...in的區(qū)別】
與for...in循環(huán)不同的是,for each...in循環(huán)中的迭代變量包含屬性所保存的值,而不包含屬性的名稱(或主鍵,索引).
【命名包路徑的小技巧】
使用相應(yīng)于擁有者和相關(guān)項(xiàng)目的包名稱會(huì)比較好.按慣例來(lái)講,包名稱的開(kāi)頭應(yīng)該是逆向的網(wǎng)址名稱.例如,如果Example Corp(examplecorp.com)寫(xiě)了一些ActionScript3.0類(lèi),就會(huì)把所有類(lèi)放在com.examplecorp包內(nèi)(或者 com.examplecorp的子包內(nèi)).如此一來(lái),如果英國(guó)有另一家Example Corp(examplecorp.co.uk)也寫(xiě)了一些ActionScript3.0類(lèi),只要使用包uk.co.examplecorp,就可確保唯一性.
當(dāng)類(lèi)屬于特定應(yīng)用程序的一部分時(shí),就應(yīng)該放在該應(yīng)用程序特定的子包內(nèi).例如,Example Corp可能有個(gè)應(yīng)用程序名叫WidgetStore.如果WidgetStore應(yīng)用程序使用一個(gè)名為ApplicationManager的類(lèi),則此類(lèi)就應(yīng)該放在com.examplecorp.widgetstore包內(nèi),或者位于該包的子包內(nèi).
按慣例來(lái)說(shuō),包名稱的開(kāi)頭是小寫(xiě)字母.
【隱式的取出方法(getter)和設(shè)定方法(setter)】
public function get count():uint {
return _count;
}
public function set count(value:uint):uint {
if(value < 100){
_count = value;
}else {
throw Error();
}
}
【確保類(lèi)是絕不會(huì)有子類(lèi),使用final】
final public class Example{}
【super關(guān)鍵字的使用】
super(); //父類(lèi)的構(gòu)造函數(shù),只能在類(lèi)實(shí)例構(gòu)造函數(shù)內(nèi)部使用
super.propertyName; //調(diào)用父類(lèi)的屬性,屬性需要聲明為public或protected
super.methodName(); //調(diào)用父類(lèi)的方法,方法需要聲明為public或protected
【建立常數(shù),使用關(guān)鍵字const而不是var】
static public const EXAMPLE:String = "example";
【檢測(cè)播放器版本】
flash.system.Capabilities.version
對(duì)于8.5版以前的任何Flash Player版本,這種方法都不適用.
【判斷客戶端系統(tǒng)】
flash.system.Capabilities.os
【檢測(cè)播放器類(lèi)型】
flash.system.Capabilities.playerType
可能的值有:
"StandAlone",用于獨(dú)立的 Flash Player
"External",用于外部的 Flash Player 或處于測(cè)試模式下
"PlugIn",用于 Flash Player 瀏覽器插件
"ActiveX",用于 Microsoft Internet Explorer 使用的 Flash Player ActiveX 控件
【檢測(cè)系統(tǒng)語(yǔ)言】
flash.system.Capabilities.language
【判斷用戶是否啟用了IME(輸入法編輯器)】
flash.system.IME.enabled
【檢測(cè)屏幕的分辨率】
flash.system.Capabilities.screenResolutionX
flash.system.Capabilities.screenResolutionY
【把彈出窗口居中的算法】
X = (舞臺(tái)寬/2)-(窗口寬/2)
Y = (舞臺(tái)高/2)-(窗口高/2)
【控制影片配合Player的方式,包括縮放問(wèn)題】
stage.scaleMode
可供選擇值:flash.display.StageScaleMode
【舞臺(tái)的對(duì)齊方式】
stage.align
可供選擇值:flash.display.StageAlign
【隱藏Flash Player的右鍵菜單】
stage.showDefaultContextMenu = false;
【檢測(cè)系統(tǒng)是否具有音頻功能】
flash.system.Capabilities.hasAudio
【檢測(cè)播放器是在具有MP3解碼器的系統(tǒng)上運(yùn)行,還是在沒(méi)有MP3解碼器的系統(tǒng)上運(yùn)行】
flash.system.Capabilities.hasMP3
【檢測(cè)播放器能 (true) 還是不能 (false) 播放流式視頻】
flash.system.Capabilities.hasStreamingVideo
【檢測(cè)播放器是在支持 (true) 嵌入視頻的系統(tǒng)上運(yùn)行,還是在不支持 (false) 嵌入視頻的系統(tǒng)上運(yùn)行】
flash.system.Capabilities.hasEmbeddedVideo
【檢測(cè)播放器能 (true) 還是不能 (false) 對(duì)視頻流(如來(lái)自 Web 攝像頭的視頻流)進(jìn)行編碼】
flash.system.Capabilities.hasVideoEncoder
【顯示 Flash Player 中的"安全設(shè)置"面板】
flash.system.Security.showSettings();
可供選擇項(xiàng):flash.system.SecurityPanel
【讓其它域的.swf訪問(wèn)本域的.swf】
在本域的.swf文件里加上:flash.system.Security.allowDomain()
或者使用安全策略文件"crossdomain.xml".在Flash 8以前,這個(gè)文件必須放在.swf所在域的根目錄,現(xiàn)在,你可以使用flash.system.Security.loadPolicyFile(),指定安全策略文件所在的位置.拒絕任何域的做法是在<cross-domain-policy>標(biāo)簽內(nèi)什么也不填,安全策略文件也支持通用字符 "*":
<?xml version="1.0"?>
<!-- http://www.mydomain.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="www.riahome.cn" />
<allow-access-from domain="*.Y-boy.cn" />
<allow-access-from domain="210.38.196.48" />
<allow-access-from domain="*" />
</cross-domain-policy>
【數(shù)字的不同進(jìn)制之間的轉(zhuǎn)換】
parseInt(str:String, radix:uint = 0):Number 返回十進(jìn)制的數(shù),參數(shù)radix表示要分析的數(shù)字的基數(shù).如果省略radix,就默認(rèn)為10,除非字符串的開(kāi)頭是"0x","0X"或"0":
trace(parseInt("0x12")); //設(shè)定radix為16,輸出:18
trace(parseInt("017")); //設(shè)定radix為8,輸出:15
或者使用Number,uint和int對(duì)象的toString(radix)方法.
【使用Math.round()對(duì)一個(gè)數(shù)取整,四舍五入】
Math.round()
trace(Math.round(204.499)); //輸出:204
trace(Math.round(401.5)); //輸出:402
【使用Math.floor()對(duì)一個(gè)數(shù)向下取整,就是只要整數(shù)部分而不理會(huì)小數(shù)分】
trace(Math.floor(204.99)); //輸出:204
【使用Math.ceil()對(duì)一個(gè)數(shù)向上取整,只要小數(shù)部分不為零,整數(shù)部分就加1】
trace(Math.ceil(401.01)); //輸出:402
【產(chǎn)生一個(gè)隨機(jī)數(shù)】
使用Math.random()產(chǎn)生一個(gè)偽隨機(jī)數(shù)n,其中 0 <= n < 1
【把數(shù)字取至最近的小數(shù)點(diǎn)位,即指定精確度】
1. 決定你要取的數(shù)字的小數(shù)點(diǎn)位數(shù):例如,如果你想把90.337取成90.34,就表示你要取到兩位小數(shù)點(diǎn)位,也就是說(shuō)你想取至最近的0.01;
2. 讓輸入值除以步驟1所選的數(shù)字(此例為0.01);
3. 使用Math.round()把步驟2所計(jì)得的值取成最近的整數(shù);
4. 把步驟3所得的結(jié)果乘以步驟2用于除法的那個(gè)值.
例如,要把90.337取成兩個(gè)小數(shù)點(diǎn)位數(shù),可以使用:
trace(Math.round(90.337/0.01)*0.01); //輸出:90.34
【把數(shù)字取成一個(gè)整數(shù)的最接近倍數(shù)值】
例1,這樣會(huì)把92.5取成5的最近倍數(shù)值:
trace(Math.round(92.5/5)*5); //輸出:95
例2,這樣會(huì)把92.5取成10的最近倍數(shù)值:
trace(Math.round(92.5/10)*10); //輸出:90
【在指定數(shù)值范圍內(nèi)獲得隨機(jī)數(shù)】
//可取范圍:[min, max]
private function randRange(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
return randomNum;
}
應(yīng)用例子:
模擬投銀幣,即希望得到隨機(jī)布爾值(true 或 false): randRange(0, 1);
模擬投骰子,即希望得到隨機(jī)六個(gè)值: randRange(1, 6);
為避免被緩存而需要產(chǎn)生一個(gè)獨(dú)一無(wú)二的數(shù)字追加在URL尾端,通常最佳方法是取得當(dāng)前毫秒數(shù).
【弧度(radian)與度數(shù)(degree)之間的轉(zhuǎn)換】
從弧度轉(zhuǎn)為度數(shù): degrees = radians * 180 / Math.PI
從度數(shù)轉(zhuǎn)為弧度: radians = degrees * Math.PI / 180
【計(jì)算兩點(diǎn)之間的距離】
勾股定理: c2 = a2 + b2
假設(shè)有兩個(gè)影片剪輯mc1和mc2,則它們兩點(diǎn)間的距離c為:
var c:Number = Math.sqrt(Math.pow(mc1.x - mc2.x, 2) + Math.pow(mc1.y - mc2.y, 2));
【模擬圓周運(yùn)動(dòng)】
已知圓心o(x0, y0),半徑r和弧度angle,求圓上任意一點(diǎn)P(x, y)的坐標(biāo):
x = x0 + (Math.cos(angle) * r);
y = y0 + (Math.sin(angle) * r);
注意:舞臺(tái)的x軸正方向水平向右,y軸正方向垂直向下.
【模擬橢圓運(yùn)動(dòng)】
已知圓心o(x0, y0),長(zhǎng)軸a,短軸b以及弧度angle,求圓上任意一點(diǎn)P(x, y)的坐標(biāo):
x = x0 + (Math.cos(angle) * a);
y = y0 + (Math.sin(angle) * b);
【華氏溫度和攝氏溫度之間的轉(zhuǎn)換】
華氏溫度 = 攝氏度數(shù) * 9 / 5 + 32
攝氏溫度 = (華氏度數(shù) - 32) * 5 /9
【公斤與磅之間的轉(zhuǎn)換】
公斤 = 磅 * 2.2
磅 = 公斤 / 2.2
【向數(shù)組尾端添加元素】
var array:Array = new Array();
array.push("a", "b");
//向數(shù)組尾端添加單一元素也可以這樣:
array[array.length] = "c";
//如果以索引設(shè)定的元素不存在,數(shù)組本身會(huì)自動(dòng)擴(kuò)展以包含足夠的元素?cái)?shù)目.介于中間的元素會(huì)被設(shè)為undefined:
array[5] = "e";
trace(array[4]); //輸出: undefined
【向數(shù)組開(kāi)端添加元素】
var array:Array = ["a", "b"];
array.unshift("c", "d");
trace(array); //輸出: c,d,a,b
【刪除數(shù)組中第一個(gè)元素并返回該元素,使用shift()方法】
var letters:Array = new Array("a", "b", "c");
var firstLetter:String = letters.shift();
trace(letters); //輸出: b,c
trace(firstLetter); //輸出: a
【刪除數(shù)組中最后一個(gè)元素并返回該元素的值,使用pop()方法】
var letters:Array = new Array("a", "b", "c");
trace(letters); //輸出: a,b,c
var letter:String = letters.pop();
trace(letters); //輸出: a,b
trace(letter); //輸出: c
【刪除數(shù)組中的元素,給數(shù)組添加新元素并返回刪除的元素,使用splice()方法】
splice(startIndex:int, deleteCount:uint, ... values):Array
startIndex: 一個(gè)整數(shù),它指定數(shù)組中開(kāi)始進(jìn)行插入或刪除的位置處的元素的索引;
deleteCount: 一個(gè)整數(shù),它指定要?jiǎng)h除的元素?cái)?shù)量;
... values: 用逗號(hào)分隔的一個(gè)或多個(gè)值的可選列表或數(shù)組,此列表或數(shù)組將插入到此數(shù)組中由 startIndex 參數(shù)指定的位置.
【查找數(shù)組中第一個(gè)相匹配的元素】
var array:Array = ["a", "b", "c", "d", "a", "b", "c", "d"];
var match:String = "b";
for(var i:int = 0; i < array.length; i++) {
if(array[i] == match) {
trace("Element with index " + i + " found to match " + match);
//輸出: Element with index 1 found to match b
break;
}
}
【查找數(shù)組中最后一個(gè)相匹配的元素】
var array:Array = ["a", "b", "c", "d", "a", "b", "c", "d"];
var match:String = "b";
for(var i:int = array.length - 1; i >= 0; i--) {
if(array[i] == match) {
trace("Element with index " + i + " found to match " + match);
//輸出: Element with index 5 found to match b
break;
}
}
【把字符串轉(zhuǎn)成數(shù)組】
使用String.split()方法:
var list:String = "I am YoungBoy.";
var words:Array = list.split(" "); //以空格作為分隔符將字符串切割
trace(words); //輸出: I,am,YoungBoy.
【把數(shù)組轉(zhuǎn)成字符串】
使用String.join()方法:
var myArr:Array = new Array("one", "two", "three");
var myStr:String = myArr.join(" and ");
trace(myArr); //輸出: one,two,three
trace(myStr); //輸出: one and two and three
【使用對(duì)象數(shù)組處理相關(guān)數(shù)據(jù)】
var cars:Array = new Array();
cars.push({make:"Mike", year:1997, color:"blue"});
cars.push({make:"Kelly", year:1986, color:"red"});
for(var i:int = 0; i < cars.length; i++) {
trace(cars[i].make + " - " + cars[i].year + " - " + cars[i].color);
}
//輸出:
// Mike - 1997 - blue
// Kelly - 1986 - red
【在數(shù)組中獲取最小或最大值】
var scores:Array = [10, 4, 15, 8];
scores.sort(Array.NUMERIC);
trace("Minimum: " + scores[0]);
trace("Maximum: " + scores[scores.length - 1]);
【使用for ... in語(yǔ)句讀取關(guān)聯(lián)數(shù)組元素】
var myObject:Object = new Object();
myObject.name = "YoungBoy";
myObject.age = 20;
for(var i:String in myObject) {
trace(i + ": " + myObject[i]);
}
//輸出: name: YoungBoy
// age: 20
注意: for ... in循環(huán)不會(huì)顯示對(duì)象所有的內(nèi)建屬性.例如,循環(huán)會(huì)顯示執(zhí)行期間新增的特殊屬性,但是,不會(huì)列出內(nèi)建對(duì)象的方法,即使都是儲(chǔ)存在對(duì)象屬性內(nèi).
【AVM(ActionScript Virtual Machine,虛擬機(jī))和渲染引擎(Rendering Engine)】
AVM負(fù)責(zé)執(zhí)行ActionScript程序,而渲染引擎則是把對(duì)象繪制在顯示器上.
【指出容器的顯示清單中有多少顯示對(duì)象】
每個(gè)容器都有numChildren屬性.
【把項(xiàng)目新增至顯示清單】
addChild(child:DisplayObject)
addChildAt(child:DisplayObject, index:int)
index: 添加該子項(xiàng)的索引位置.如果指定當(dāng)前占用的索引位置,則該位置以及所有更高位置上的子對(duì)象會(huì)在子級(jí)列表中上移一個(gè)位置.
【從顯示清單中移除項(xiàng)目】
removeChild(child:DisplayObject)
removeChildAt(index:int)
index: 要?jiǎng)h除的 DisplayObject 的子索引,該子項(xiàng)之上的任何顯示對(duì)象的索引位置都減去1.
如果想移除窗口所有子元件,可以結(jié)合removeChildAt(),numChildren屬性以及for循環(huán).因?yàn)槊看我粋€(gè)子元件被移除時(shí),索引位置都會(huì)變化,所以,有兩種方法可以處理所有子元件的移除:
1. 總是移除位置0的子元件;
2. 倒過(guò)來(lái)移除子元件,也就是從尾端開(kāi)始.
【更改現(xiàn)有子項(xiàng)在顯示對(duì)象容器中的位置】
setChildIndex(child:DisplayObject, index:int):void
可能用到的方法:
返回 DisplayObject 的 child 實(shí)例的索引位置: getChildIndex(child:DisplayObject):int
返回位于指定索引處的子顯示對(duì)象實(shí)例: getChildAt(index:int):DisplayObject
注意: 當(dāng)子元件移到低于它現(xiàn)在所在位置的索引時(shí),那么,從標(biāo)的索引起,直到子元件索引前面的那個(gè)索引的所有子元件都會(huì)令其索引增加1,而該子元件就會(huì)指定至標(biāo)的索引.當(dāng)子元件移到較高索引時(shí),從該子元件索引之上的那個(gè)索引起,直到標(biāo)的索引的所有子元件都會(huì)令其索引往下減1,而該子元件就會(huì)指定至標(biāo)的索引值.
【關(guān)于TextField以垂直方式把文字?jǐn)[在按鈕表面中心點(diǎn)的小技巧】
textField.y = (_height - textField.textHeight) / 2;
textField.y -= 2; //減2個(gè)像素以調(diào)整偏移量
【外部.swf影片載入和互動(dòng)】
1. 監(jiān)聽(tīng)init事件;
2. 透過(guò)content屬性存取所載入的影片.
當(dāng)所載入的影片做好足夠的初始化工作,使其方法和屬性可以接受互動(dòng)時(shí),init事件就會(huì)被發(fā)起.只有在載入器發(fā)起init事件后,才能控制影片.所載入的影片還沒(méi)初始化就試著與它互動(dòng),是會(huì)產(chǎn)生執(zhí)行期間錯(cuò)誤的.
_loader.contentLoaderInfo.addEventListener(Event.INIT, handleInit); //當(dāng)載入的.swf的屬性和方法可用時(shí)
_loader.load(new URLRequest("ExternalMovie.swf"));
private function handleInit(event:Event):void {
var movie:* = _loader.content;
trace(movie.getColor());
movie.setColor(0xFF0000);
}
【TextField有兩種類(lèi)型:動(dòng)態(tài)(dynamic)和輸入(input),默認(rèn)值為動(dòng)態(tài).改變TextField類(lèi)型方法】
field.type = TextFieldType.INPUT; //selectable屬性默認(rèn)值為true
flash.text.TextFieldType.INPUT和flash.text.TextFieldType.DYNAMIC
【過(guò)濾文字輸入】
TextField.restrict = "此處為可輸入的內(nèi)容";
field.restrict = "^此處為禁止輸入的內(nèi)容";
restrict屬性支持一些類(lèi)似正則表達(dá)式的樣式:
field.restrict = "a-zA-z"; //只允許大小字母
field.restrict = "a-zA-z "; //只允許字母和空格
field.restrict = "0-9"; //只允許數(shù)字
field.restrict = "^abcdefg"; //除了小寫(xiě)字母abcdefg不允許外,其它都允許
field.restrict = "^a-z"; //所有小寫(xiě)字母都不允許,但是,其它內(nèi)容都允許,包括大寫(xiě)字母
field.restrict = "0-9^5"; //只允許數(shù)字,但5例外
讓restrict字符包含具有特殊意義的字母(例如-和^):
field.restrict = "0-9\\-"; //允許數(shù)字和破折號(hào)
field.restrict = "0-9\\^"; //允許數(shù)字和^
field.restrict = "0-9\\\\"; //允許數(shù)字和反斜杠
你也可以使用Unicode轉(zhuǎn)義序列,指定允許的內(nèi)容.例如:
field.restrict = "^\u001A";
注意:ActionScript有區(qū)分大小寫(xiě)的,如果restrict屬性設(shè)為abc,允許字母的大寫(xiě)形式(A,B和C)輸入時(shí)會(huì)變成小寫(xiě)對(duì)待形式(a,b和c),反之亦然.restrict屬性只影響用戶可以輸入的內(nèi)容,腳本可將任何文本放入文本字段中.
【設(shè)定輸入框的最大長(zhǎng)度】
TextField.maxChars:int
【向TextField追加內(nèi)容】
TextField.appendText(text:String):void
與通過(guò)對(duì) text 屬性使用加法賦值來(lái)連接兩個(gè)字符串(例如 field.text += moreText)相比,此方法的效率更高.
【顯示HTML格式的文字】
TextField.htmlText = "<b>Html text</b>";
支持的HTML標(biāo)簽集有: <b>,<i>,<u>,<font>(有face,size以及color屬性),< p>,<br>,<a>,<li>,<img>以及<textformat>(有 leftmargin,rightmargin,blockindent,indent,leading以及tabstops屬性,相應(yīng)于 TextFormat類(lèi)的同名屬性)
【縮減空白】
TextField.condenseWhite = true;
刪除具有HTML文本的文本字段中的額外空白(空格,換行符等),如同多數(shù)HTML瀏覽器所做的那樣.
注意: 在設(shè)置 htmlText 屬性之前設(shè)置 condenseWhite 屬性
【自動(dòng)大小調(diào)整和對(duì)齊】
TextField.autoSize = TextFieldAutoSize.LEFT;
可選之值:
flash.text.TextFieldAutoSize.CENTER
flash.text.TextFieldAutoSize.LEFT
flash.text.TextFieldAutoSize.NONE
flash.text.TextFieldAutoSize.RIGHT
【指示文本字段是否自動(dòng)換行】
TextField.wordWrap = true; //自動(dòng)換行
【用程序手段滾動(dòng)文字】
水平方向以像素為單位,而垂直方向以行做單位:
scrollV: 指出文字框可見(jiàn)區(qū)域的最頂行,可讀寫(xiě);
bottomScrollV: 指出文字框內(nèi)最底端可見(jiàn)行,只讀;
maxScrollV: scrollV的最大值,只讀;
numLines: 定義多行文本字段中的文本行數(shù),只讀;
TextField.scrollV = field.maxScrollV; //滾動(dòng)到最后一頁(yè)
【響應(yīng)滾動(dòng)事件】
field.addEventListener(Event.SCROLL, onTextScroll);
【樣式化文字的方法】
1. 使用HTML標(biāo)簽進(jìn)行樣式化;
2. 使用TextFormat對(duì)象;
3. 使用CSS.
例如: HTML是用<font>標(biāo)簽,TextFormat對(duì)象是設(shè)定font屬性,而CSS是使用font-family屬性的.
受支持的層疊樣式表(CSS)屬性和值,及其相應(yīng)的ActionScript屬性名稱(小括號(hào)內(nèi)):
color(color),display(display),font-family(fontFamily),font-size(fontSize),font-style(fontStyle),font-weight(fontWeight),kerning(kerning),leading(leading),letter-spacing(letterSpacing),margin-left(marginLeft),margin-right(marginRight),text-align(textAlign),text-decoration(textDecoration),text-indent(textIndent)
受支持的HTML實(shí)體: <(小于號(hào): <), >(大于號(hào): >), &(和: &), "(雙引號(hào): "), '(撇號(hào),單引號(hào): ')
其中樣式對(duì)象的兩種寫(xiě)法:
寫(xiě)法一:
var sampleStyle:Object = new Object();
sampleStyle.color = "#FFFFFF";
sampleStyle.textAlign = "center";
css.setStyle(".sample", sampleStyle);
寫(xiě)法二:
var sampleStyle:Object = {color: "#FFFFFF", textAlign: "center"};
css.setStyle(".sample", sampleStyle);
【對(duì)用戶輸入的文字進(jìn)行樣式化】
使用defaultTextFormat屬性,樣式會(huì)施加至用戶鍵入輸入框的文字身上:
var formatter:TextFormat = new TextFormat();
formatter.color = 0x0000FF; //把文字變成藍(lán)色
field.defaultTextFormat = formatter;
【對(duì)現(xiàn)有文字的一部分進(jìn)行樣式化】
TextFormat.setTextFormat(format:TextFormat, beginIndex:int = -1, endIndex:int = -1):void
【設(shè)定文字框的字體】
例子:
HTML: field.htmlText = "<font face='Arial'>Formatted text</font>";
TextFormat: formatter.font = "Arial";
CSS: P{ font-family: Arial; }
也可以使用以逗號(hào)隔開(kāi)的字體清單: formatter.font = "Arial, Verdana, Helvetica";
注意:
字體和字體群組不同.字體群組有三種: _sans,_serif以及_typewriter.
_sans群組一般就是指Arial或Helvetica這種字體;
_serif群組一般就是指Times或Times New Roman這種字體;
_typewriter群組一般就是指Courier或Courier New這種字體.
【嵌入字體】
使用[Embed]后設(shè)標(biāo)簽.[Embed]后設(shè)標(biāo)簽應(yīng)該出現(xiàn)在ActionScript文件中,處于類(lèi)宣告之外.你可以內(nèi)嵌TrueType字體或系統(tǒng)字體.內(nèi)嵌TrueType字體時(shí)的語(yǔ)法:
[Embed(source="pathToTtfFile", fontName="FontName", mimeType="application/x-font-truetype")]
pathToTtfFile: ttf文件的路徑,TrueType字體的路徑可以是相對(duì)的,也可以是絕對(duì)的;
FontName: 字體名稱;
內(nèi)嵌系統(tǒng)字體的語(yǔ)法:
[Embed(systemFont="Times New Roman", fontName="Times New Roman", mimeType="application/x-font-truetype")]
fontName: 以相同名稱作為實(shí)際系統(tǒng)字體名稱.
注意: 在使用嵌入字體時(shí),要把TextField的embedFonts屬性設(shè)為true,這樣TextField只能用內(nèi)嵌字體了.如果你試著替 embedFonts設(shè)為true的TextField使用設(shè)備字體,什么都不會(huì)顯示.如果embedFonts設(shè)為true,就無(wú)法指定以逗號(hào)相隔的字體清單.
【建立可以旋轉(zhuǎn)的文字】
使用內(nèi)嵌字體.當(dāng)你旋轉(zhuǎn)文字框時(shí),設(shè)備字體就會(huì)消失.
【顯示Unicode文字】
1. 從外部來(lái)源載入U(xiǎn)nicode文字;
2. 假如你的編輯器支持Unicode(如 Flex Builder),則可以直接在ActionScript程序中使用該字符;
3. 使用Unicode轉(zhuǎn)義字符,ActionScript里所有Unicode轉(zhuǎn)義字符都以\u開(kāi)頭,后面再跟四位十六進(jìn)制數(shù)字.
注意: 如果你想取得Unicode字符,在Windows下使用: 開(kāi)始>所有程序>附件>系統(tǒng)工具>字符映射表.
【把Flash Player的焦點(diǎn)帶給文字框】
stage.focus = field;
把焦點(diǎn)移除:
stage.focus = null;
注意: 當(dāng).swf文件首次載入至網(wǎng)頁(yè)瀏覽器時(shí),并沒(méi)有焦點(diǎn).因此,以程序的方式把焦點(diǎn)指定給Flash應(yīng)用程序的一個(gè)元素前,必須先把焦點(diǎn)移至Flash Player.
【以ActionScript選取文字】
使用TextField.setSelection(beginIndex:int, endIndex:int):void
為了可以正常選取文字,文字框必須具有焦點(diǎn):
stage.focus = field; //把焦點(diǎn)設(shè)給文字框
field.text = "This is example text"; //設(shè)定文字
field.setSelection(0, 4); //把"This"這個(gè)單詞以高亮顯示
使用只讀的selectionBeginIndex和selectionEndIndex屬性訪問(wèn)所選取的字符范圍的索引.
【在文字內(nèi)設(shè)定安插點(diǎn)(游標(biāo)位置)并訪問(wèn)游標(biāo)位置的索引值】
可以使用TextField.setSelection()把起始和結(jié)尾的索引參數(shù)都設(shè)成相同值,在文字內(nèi)設(shè)定游標(biāo)位置(假設(shè)具有焦點(diǎn)):
field.setSelection(0, 0); //在第一個(gè)字符前擺放安插點(diǎn)
trace(field.caretIndex); //輸出游標(biāo)位置的索引值
【當(dāng)文本字段受到選取或取消選取時(shí)給予響應(yīng)】
獲得焦點(diǎn)時(shí): FocusEvent.FOCUS_IN
失去焦點(diǎn)時(shí): FocusEvent.FOCUS_OUT
通過(guò)鍵盤(pán)(Tab鍵)把焦點(diǎn)移除時(shí): FocusEvent.KEY_FOCUS_CHANGE
通過(guò)鼠標(biāo)把焦點(diǎn)移除時(shí): FocusEvent.MOUSE_FOCUS_CHANGE
FocusEvent 類(lèi)有一個(gè)relatedObject屬性.就FOCUS_IN事件而言,relatedObject屬性是剛才擁有焦點(diǎn)的對(duì)象的引用地址;對(duì)于 FOCUS_OUT,KEY_FOCUS_CHANGE以及MOUSE_FOCUS_CHANGE事件,relatedObject屬性是剛接收到焦點(diǎn)的對(duì)象的引用地址.
FOCUS_IN和FOCUS_OUT事件都是在焦點(diǎn)改變后發(fā)生的,所以兩者都是不可取消的事件.對(duì)于KEY_FOCUS_CHANGE和MOUSE_FOCUS_CHANGE事件,可以使用FocusEvent.preventDefault()方法取消默認(rèn)行為:
field.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, onKeyFocus);
private function onKeyFocus(event:FocusEvent):void {
if(field.text == "") {
event.preventDefault(); //當(dāng)field沒(méi)有任何文字前,不允許使用Tab鍵把焦點(diǎn)移除
}
//event.relatedObject就是剛才擁有焦點(diǎn)的對(duì)象的引用地址,即下一個(gè)獲得焦點(diǎn)的對(duì)象的引用地址
}

相關(guān)文章

  • Flex 編程注意之Flex Complier參數(shù)

    Flex 編程注意之Flex Complier參數(shù)

    由于上一篇文章《Flex編程注意之Namespace的用法》引出了Flex編譯時(shí)自帶的兩個(gè)參數(shù):-namespace -include-namespace,正好想到可以寫(xiě)一篇關(guān)于Flex Complier時(shí)的一些自定義參數(shù)。
    2009-07-07
  • Flex clipContent 編程注意

    Flex clipContent 編程注意

    在做Flex項(xiàng)目的時(shí)候,碰到了一個(gè)修改,具體請(qǐng)看下面的原型圖
    2009-07-07
  • Flex 獲得png透明截圖的問(wèn)題和解決方法

    Flex 獲得png透明截圖的問(wèn)題和解決方法

    最近Flex項(xiàng)目中需要保存背景為透明的截圖,需要用到PngEncoder類(lèi)。
    2009-10-10
  • Flex Namespace的用法

    Flex Namespace的用法

    自定義自己組件的namespace呢 去Adobe那邊的compiler參數(shù)查找了一下,發(fā)現(xiàn)可以利用-namespace、-include-namespaces這兩個(gè)參數(shù)來(lái)指定自己的URL。
    2009-07-07
  • Flex include和import ActionScript代碼

    Flex include和import ActionScript代碼

    為了讓你的MXML代碼可讀性增強(qiáng),你可以在<mx:Script>標(biāo)簽內(nèi)引用ActionScript代碼文件,而不是把大塊的代碼都插入到<mx:Script>里。引用ActionScript有include和import兩種方式。
    2009-08-08
  • Flex Builder3 官方正式版下載地址附注冊(cè)碼

    Flex Builder3 官方正式版下載地址附注冊(cè)碼

    adobe公司2月25日發(fā)出Flex Builder3 Pro 正式版,可提供下載試用
    2009-02-02
  • flex SystemManger監(jiān)控用戶是否和程序打交道

    flex SystemManger監(jiān)控用戶是否和程序打交道

    flex中可以通過(guò)SystemManger監(jiān)控用戶是否和程序打交道
    2009-05-05
  • Flex字符串比較 還有Flex字符串操作

    Flex字符串比較 還有Flex字符串操作

    呵呵,其實(shí)我用的時(shí)間不多,還接觸這個(gè)不到3個(gè)月吧,哎,所以很多地方都需要不斷的進(jìn)行更正了.
    2009-06-06
  • Flex ViewStack高度異常問(wèn)題

    Flex ViewStack高度異常問(wèn)題

    我跟WonJia打算寫(xiě)一個(gè)類(lèi)似于《Flex編程注意之XX》的系列文章,此系列文章主要就是介紹一些我們?cè)趯?shí)際的項(xiàng)目中發(fā)現(xiàn)的一些Flex的問(wèn)題,而這些問(wèn)題可能已經(jīng)被人發(fā)現(xiàn)了,也可能沒(méi)被人發(fā)現(xiàn),所以在此記錄一下。
    2009-07-07
  • Flex 對(duì)象持久化

    Flex 對(duì)象持久化

    總有人問(wèn)我關(guān)于Flex對(duì)象序列化和持久化的問(wèn)題,很多人認(rèn)為對(duì)象不能拷貝到服務(wù)器,其實(shí)淺度的拷貝是可以做到的。
    2009-06-06

最新評(píng)論