szhswl
          宋針還的個人空間

          【改變輸出swf的尺度,背景顏色或幀頻】 
          在"Navigator"窗框里右鍵你的項目>選中"Properties">選中"ActionScript Compiler">在"Additional compiler arguments"里輸入你所需要的命令
          如想改變背景顏色,請輸入: -default-background-color 0xffffff 
          【鼠標(biāo)坐標(biāo)】 
          mouseX mouseY 
          【檢查變量類型并返回布爾值】 
          is 
          【檢查變量類型并返回類型】 
          typeof 
          【檢查對象類型并返回該對象】 
          as 
          【是數(shù)字但不是有效數(shù)字問題】 
          var quantity:Number = 15 - "rabbits"; 
          trace(typeof quantity); //顯示: "number" , 但它是NaN (not a number) 
          trace(quantity is Number); //true 
          trace(quantity != NaN); //false 
          //使用isNaN()函數(shù)檢測: 
          isNaN(quantity); //true 
          //檢測變量是否內(nèi)含有效數(shù)字: 
          !isNaN(quantity); //false 
          【取消默認(rèn)的嚴(yán)格編譯模式】 
          在"Navigator"窗框里右鍵你的項目>選中"Properties">選中"ActionScript Compiler">取消"Enabel compile-time type checking"選項 
          【基元數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型好比"值類型"和"引用類型"】 
          基元數(shù)據(jù)類型類似按值傳遞: 
          var intOne:int = 1; 
          var intTwo:int = 1; 
          trace(intOne == intTwo); //true 
          【復(fù)雜數(shù)據(jù)類型類似按引用傳遞】 
          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(||)的小知識】 
          對于邏輯And(&&): 
              除非條件表達(dá)式的前半部分為真,否則,ActionScript不會再去求算邏輯AND運算符的后半部.如果前半部為假,整個條件表達(dá)式一定為假,所以再去求算后半部就沒效率了. 
          對于邏輯OR(||): 
              除非條件表達(dá)式前半部為假,否則,ActionScript不會再去求算邏輯OR運算符的后半部,如果前半部為真,整個條件表達(dá)式一定為真. 
          總結(jié):使用邏輯AND(&&)時,把結(jié)果最可能為false的表達(dá)式放到前面;使用邏輯OR(||)時,把結(jié)果最可能為true的表達(dá)式放到前面. 
          【Timer類注意事項】 
          不要認(rèn)為Timer可以極其準(zhǔn)確;使用Timer時間間隔不要低于10毫秒. 
          【private,protected,internal,public訪問權(quán)限】 
          private:只能在類本身內(nèi)部訪問,按慣例,命名私有成員時以下劃線"_"開頭; 
          protected:可以由類本身或任何子類訪問.但這是以實例為基礎(chǔ)的.換言之,類實例可以訪問自己的保護(hù)成員或者父類的保護(hù)成員,但不能訪問相同類的其它實例的保護(hù)成員,按慣例,命名保護(hù)成員時以下劃線"_"開頭; 
          internal:可以由類本身或者相同包內(nèi)的任何類訪問; 
          public:可以在類內(nèi)部訪問,也可以由類實例訪問,或者聲明為static時,可以直接從類訪問. 
          【一個函數(shù)具有未知個數(shù)的參數(shù),用arguments對象或"...(rest)"符號訪問它的參數(shù)】 
          注意:使用"...(rest)"參數(shù)會使 arguments 對象不可用; 
          private funciton average():void{ 
              trace(arguments.length); //輸出參數(shù)的個數(shù) 
              // arguments的類型是:object,但可以像訪問數(shù)組一樣去訪問它 
              trace(arguments[1]); //輸出第二個參數(shù) 

          private function average(...argu):void{ 
              trace(argu[1]); //輸出第二個參數(shù),argu參數(shù)名是自定義的. 

          【錯誤處理try,catch,finally】 
          private function tryError():void{ 
              try { 
                  trace("測試開始-try"); 
                  throwError(); 
              }catch(errObject:Error) { 
                  trace("錯誤信息:" + errObject.message); 
                  trace("測試結(jié)束-catch"); 
                  return; 
              }finally{ 
                  trace("雖然catch里已經(jīng)有return方法,但位于return方法后面的finally里的代碼依然會被執(zhí)行.其實無論return方法是在try里,還是catch里,finally里的代碼始終會被執(zhí)行"); 
              } 
              trace("前面已經(jīng)有return了,此處是不會再執(zhí)行的.除非沒有拋出錯誤,以使catch里的代碼沒有被執(zhí)行"); 

          private function throwError():void{ 
              throw new Error("拋出錯誤"); 

          【for...in與for each...in的區(qū)別】 
          與for...in循環(huán)不同的是,for each...in循環(huán)中的迭代變量包含屬性所保存的值,而不包含屬性的名稱(或主鍵,索引). 
          【命名包路徑的小技巧】 
              使用相應(yīng)于擁有者和相關(guān)項目的包名稱會比較好.按慣例來講,包名稱的開頭應(yīng)該是逆向的網(wǎng)址名稱.例如,如果Example Corp(examplecorp.com)寫了一些ActionScript3.0類,就會把所有類放在com.examplecorp包內(nèi)(或者 com.examplecorp的子包內(nèi)).如此一來,如果英國有另一家Example Corp(examplecorp.co.uk)也寫了一些ActionScript3.0類,只要使用包uk.co.examplecorp,就可確保 唯一性. 
              當(dāng)類屬于特定應(yīng)用程序的一部分時,就應(yīng)該放在該應(yīng)用程序特定的子包內(nèi).例如,Example Corp可能有個應(yīng)用程序名叫WidgetStore.如果WidgetStore應(yīng)用程序使用一個名為ApplicationManager的類,則此 類就應(yīng)該放在com.examplecorp.widgetstore包內(nèi),或者位于該包的子包內(nèi). 
              按慣例來說,包名稱的開頭是小寫字母. 
          【隱式的取出方法(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(); 
              } 

          【確保類是絕不會有子類,使用final】 
          final public class Example{} 
          【super關(guān)鍵字的使用】 
          super(); //父類的構(gòu)造函數(shù),只能在類實例構(gòu)造函數(shù)內(nèi)部使用 
          super.propertyName; //調(diào)用父類的屬性,屬性需要聲明為public或protected 
          super.methodName(); //調(diào)用父類的方法,方法需要聲明為public或protected 
          【建立常數(shù),使用關(guān)鍵字const而不是var】 
          static public const EXAMPLE:String = "example"; 
          【檢測播放器版本】 
          flash.system.Capabilities.version 
          對于8.5版以前的任何Flash Player版本,這種方法都不適用. 
          【判斷客戶端系統(tǒng)】 
          flash.system.Capabilities.os 
          【檢測播放器類型】 
          flash.system.Capabilities.playerType 
          可能的值有: 
          "StandAlone",用于獨立的 Flash Player 
          "External",用于外部的 Flash Player 或處于測試模式下 
          "PlugIn",用于 Flash Player 瀏覽器插件 
          "ActiveX",用于 Microsoft Internet Explorer 使用的 Flash Player ActiveX 控件 
          【檢測系統(tǒng)語言】 
          flash.system.Capabilities.language 
          【判斷用戶是否啟用了IME(輸入法編輯器)】 
          flash.system.IME.enabled 
          【檢測屏幕的分辨率】 
          flash.system.Capabilities.screenResolutionX 
          flash.system.Capabilities.screenResolutionY 
          【把彈出窗口居中的算法】 
          X = (舞臺寬/2)-(窗口寬/2) 
          Y = (舞臺高/2)-(窗口高/2) 
          【控制影片配合Player的方式,包括縮放問題】 
          stage.scaleMode 
          可供選擇值:flash.display.StageScaleMode 
          【舞臺的對齊方式】 
          stage.align 
          可供選擇值:flash.display.StageAlign 
          【隱藏Flash Player的右鍵菜單】 
          stage.showDefaultContextMenu = false; 
          【檢測系統(tǒng)是否具有音頻功能】 
          flash.system.Capabilities.hasAudio 
          【檢測播放器是在具有MP3解碼器的系統(tǒng)上運行,還是在沒有MP3解碼器的系統(tǒng)上運行】 
          flash.system.Capabilities.hasMP3 
          【檢測播放器能 (true) 還是不能 (false) 播放流式視頻】 
          flash.system.Capabilities.hasStreamingVideo 
          【檢測播放器是在支持 (true) 嵌入視頻的系統(tǒng)上運行,還是在不支持 (false) 嵌入視頻的系統(tǒng)上運行】 
          flash.system.Capabilities.hasEmbeddedVideo 
          【檢測播放器能 (true) 還是不能 (false) 對視頻流(如來自 Web 攝像頭的視頻流)進(jìn)行編碼】 
          flash.system.Capabilities.hasVideoEncoder 
          【顯示 Flash Player 中的"安全設(shè)置"面板】 
          flash.system.Security.showSettings(); 
          可供選擇項:flash.system.SecurityPanel 
          【讓其它域的.swf訪問本域的.swf】 
          在本域的.swf文件里加上:flash.system.Security.allowDomain() 
          或者使用安全策略文件"crossdomain.xml".在Flash 8以前,這個文件必須放在.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,除非字符串的開頭是"0x","0X"或"0": 
          trace(parseInt("0x12")); //設(shè)定radix為16,輸出:18 
          trace(parseInt("017")); //設(shè)定radix為8,輸出:15 
          或者使用Number,uint和int對象的toString(radix)方法. 
          【使用Math.round()對一個數(shù)取整,四舍五入】 
          Math.round() 
          trace(Math.round(204.499)); //輸出:204 
          trace(Math.round(401.5)); //輸出:402 
          【使用Math.floor()對一個數(shù)向下取整,就是只要整數(shù)部分而不理會小數(shù)分】 
          trace(Math.floor(204.99)); //輸出:204 
          【使用Math.ceil()對一個數(shù)向上取整,只要小數(shù)部分不為零,整數(shù)部分就加1】 
          trace(Math.ceil(401.01)); //輸出:402 
          【產(chǎn)生一個隨機(jī)數(shù)】 
          使用Math.random()產(chǎn)生一個偽隨機(jī)數(shù)n,其中 0 <= n < 1 
          【把數(shù)字取至最近的小數(shù)點位,即指定精確度】 
          1. 決定你要取的數(shù)字的小數(shù)點位數(shù):例如,如果你想把90.337取成90.34,就表示你要取到兩位小數(shù)點位,也就是說你想取至最近的0.01; 
          2. 讓輸入值除以步驟1所選的數(shù)字(此例為0.01); 
          3. 使用Math.round()把步驟2所計得的值取成最近的整數(shù); 
          4. 把步驟3所得的結(jié)果乘以步驟2用于除法的那個值. 
          例如,要把90.337取成兩個小數(shù)點位數(shù),可以使用: 
          trace(Math.round(90.337/0.01)*0.01); //輸出:90.34 
          【把數(shù)字取成一個整數(shù)的最接近倍數(shù)值】 
          例1,這樣會把92.5取成5的最近倍數(shù)值: 
          trace(Math.round(92.5/5)*5); //輸出:95 
          例2,這樣會把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ī)六個值: randRange(1, 6); 
          為避免被緩存而需要產(chǎn)生一個獨一無二的數(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 
          【計算兩點之間的距離】 
          勾股定理: c2 = a2 + b2 
          假設(shè)有兩個影片剪輯mc1和mc2,則它們兩點間的距離c為: 
          var c:Number = Math.sqrt(Math.pow(mc1.x - mc2.x, 2) + Math.pow(mc1.y - mc2.y, 2)); 
          【模擬圓周運動】 
          已知圓心o(x0, y0),半徑r和弧度angle,求圓上任意一點P(x, y)的坐標(biāo): 
          x = x0 + (Math.cos(angle) * r); 
          y = y0 + (Math.sin(angle) * r); 
          注意:舞臺的x軸正方向水平向右,y軸正方向垂直向下. 
          【模擬橢圓運動】 
          已知圓心o(x0, y0),長軸a,短軸b以及弧度angle,求圓上任意一點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ù)組本身會自動擴(kuò)展以包含足夠的元素數(shù)目.介于中間的元素會被設(shè)為undefined: 
          array[5] = "e"; 
          trace(array[4]); //輸出: undefined 
          【向數(shù)組開端添加元素】 
          var array:Array = ["a", "b"]; 
          array.unshift("c", "d"); 
          trace(array); //輸出: c,d,a,b 
          【刪除數(shù)組中第一個元素并返回該元素,使用shift()方法】 
          var letters:Array = new Array("a", "b", "c"); 
          var firstLetter:String = letters.shift(); 
          trace(letters); //輸出: b,c 
          trace(firstLetter); //輸出: a 
          【刪除數(shù)組中最后一個元素并返回該元素的值,使用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: 一個整數(shù),它指定數(shù)組中開始進(jìn)行插入或刪除的位置處的元素的索引; 
          deleteCount: 一個整數(shù),它指定要刪除的元素數(shù)量; 
          ... values: 用逗號分隔的一個或多個值的可選列表或數(shù)組,此列表或數(shù)組將插入到此數(shù)組中由 startIndex 參數(shù)指定的位置. 
          【查找數(shù)組中第一個相匹配的元素】 
          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ù)組中最后一個相匹配的元素】 
          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 
          【使用對象數(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語句讀取關(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)不會顯示對象所有的內(nèi)建屬性.例如,循環(huán)會顯示執(zhí)行期間新增的特殊屬性,但是,不會列出內(nèi)建對象的方法,即使都是儲存在對象屬性內(nèi). 
          【AVM(ActionScript Virtual Machine,虛擬機(jī))和渲染引擎(Rendering Engine)】 
          AVM負(fù)責(zé)執(zhí)行ActionScript程序,而渲染引擎則是把對象繪制在顯示器上. 
          【指出容器的顯示清單中有多少顯示對象】 
          每個容器都有numChildren屬性. 
          【把項目新增至顯示清單】 
          addChild(child:DisplayObject) 
          addChildAt(child:DisplayObject, index:int) 
          index: 添加該子項的索引位置.如果指定當(dāng)前占用的索引位置,則該位置以及所有更高位置上的子對象會在子級列表中上移一個位置. 
          【從顯示清單中移除項目】 
          removeChild(child:DisplayObject) 
          removeChildAt(index:int) 
          index: 要刪除的 DisplayObject 的子索引,該子項之上的任何顯示對象的索引位置都減去1. 
          如果想移除窗口所有子元件,可以結(jié)合removeChildAt(),numChildren屬性以及for循環(huán).因為每次一個子元件被移除時,索引位置都會變化,所以,有兩種方法可以處理所有子元件的移除: 
          1. 總是移除位置0的子元件; 
          2. 倒過來移除子元件,也就是從尾端開始. 
          【更改現(xiàn)有子項在顯示對象容器中的位置】 
          setChildIndex(child:DisplayObject, index:int):void 
          可能用到的方法: 
          返回 DisplayObject 的 child 實例的索引位置: getChildIndex(child:DisplayObject):int 
          返回位于指定索引處的子顯示對象實例: getChildAt(index:int):DisplayObject 
          注意: 當(dāng)子元件移到低于它現(xiàn)在所在位置的索引時,那么,從標(biāo)的索引起,直到子元件索引前面的那個索引的所有子元件都會令其索引增加1,而該子元件就會指定至標(biāo)的 索引.當(dāng)子元件移到較高索引時,從該子元件索引之上的那個索引起,直到標(biāo)的索引的所有子元件都會令其索引往下減1,而該子元件就會指定至標(biāo)的索引值. 
          【關(guān)于TextField以垂直方式把文字?jǐn)[在按鈕表面中心點的小技巧】 
          textField.y = (_height - textField.textHeight) / 2; 
          textField.y -= 2; //減2個像素以調(diào)整偏移量 
          【外部.swf影片載入和互動】 
          1. 監(jiān)聽init事件; 
          2. 透過content屬性存取所載入的影片. 
          當(dāng)所載入的影片做好足夠的初始化工作,使其方法和屬性可以接受互動時,init事件就會被發(fā)起.只有在載入器發(fā)起init事件后,才能控制影片.所載入的影片還沒初始化就試著與它互動,是會產(chǎn)生執(zhí)行期間錯誤的. 
          _loader.contentLoaderInfo.addEventListener(Event.INIT, handleInit); //當(dāng)載入的.swf的屬性和方法可用時 
          _loader.load(new URLRequest("ExternalMovie.swf")); 
          private function handleInit(event:Event):void { 
              var movie:* = _loader.content; 
              trace(movie.getColor()); 
              movie.setColor(0xFF0000); 

          【TextField有兩種類型:動態(tài)(dynamic)和輸入(input),默認(rèn)值為動態(tài).改變TextField類型方法】 
          field.type = TextFieldType.INPUT; //selectable屬性默認(rèn)值為true 
          flash.text.TextFieldType.INPUT和flash.text.TextFieldType.DYNAMIC 
          【過濾文字輸入】 
          TextField.restrict = "此處為可輸入的內(nèi)容"; 
          field.restrict = "^此處為禁止輸入的內(nèi)容"; 
          restrict屬性支持一些類似正則表達(dá)式的樣式: 
          field.restrict = "a-zA-z"; //只允許大小字母 
          field.restrict = "a-zA-z "; //只允許字母和空格 
          field.restrict = "0-9"; //只允許數(shù)字 
          field.restrict = "^abcdefg"; //除了小寫字母abcdefg不允許外,其它都允許 
          field.restrict = "^a-z"; //所有小寫字母都不允許,但是,其它內(nèi)容都允許,包括大寫字母 
          field.restrict = "0-9^5"; //只允許數(shù)字,但5例外 
          讓restrict字符包含具有特殊意義的字母(例如-和^): 
          field.restrict = "0-9\\-"; //允許數(shù)字和破折號 
          field.restrict = "0-9\\^"; //允許數(shù)字和^ 
          field.restrict = "0-9\\\\"; //允許數(shù)字和反斜杠 
          你也可以使用Unicode轉(zhuǎn)義序列,指定允許的內(nèi)容.例如: 
          field.restrict = "^\u001A"; 
          注意:ActionScript有區(qū)分大小寫的,如果restrict屬性設(shè)為abc,允許字母的大寫形式(A,B和C)輸入時會變成小寫對待形式(a,b和c),反之亦然.restrict屬性只影響用戶可以輸入的內(nèi)容,腳本可將任何文本放入文本字段中. 
          【設(shè)定輸入框的最大長度】 
          TextField.maxChars:int 
          【向TextField追加內(nèi)容】 
          TextField.appendText(text:String):void 
          與通過對 text 屬性使用加法賦值來連接兩個字符串(例如 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類的同名屬性) 
          【縮減空白】 
          TextField.condenseWhite = true; 
          刪除具有HTML文本的文本字段中的額外空白(空格,換行符等),如同多數(shù)HTML瀏覽器所做的那樣. 
          注意: 在設(shè)置 htmlText 屬性之前設(shè)置 condenseWhite 屬性 
          【自動大小調(diào)整和對齊】 
          TextField.autoSize = TextFieldAutoSize.LEFT; 
          可選之值: 
          flash.text.TextFieldAutoSize.CENTER 
          flash.text.TextFieldAutoSize.LEFT 
          flash.text.TextFieldAutoSize.NONE 
          flash.text.TextFieldAutoSize.RIGHT 
          【指示文本字段是否自動換行】 
          TextField.wordWrap = true; //自動換行 
          【用程序手段滾動文字】 
          水平方向以像素為單位,而垂直方向以行做單位: 
          scrollV: 指出文字框可見區(qū)域的最頂行,可讀寫; 
          bottomScrollV: 指出文字框內(nèi)最底端可見行,只讀; 
          maxScrollV: scrollV的最大值,只讀; 
          numLines: 定義多行文本字段中的文本行數(shù),只讀; 
          TextField.scrollV = field.maxScrollV; //滾動到最后一頁 
          【響應(yīng)滾動事件】 
          field.addEventListener(Event.SCROLL, onTextScroll); 
          【樣式化文字的方法】 
          1. 使用HTML標(biāo)簽進(jìn)行樣式化; 
          2. 使用TextFormat對象; 
          3. 使用CSS. 
          例如: HTML是用<font>標(biāo)簽,TextFormat對象是設(shè)定font屬性,而CSS是使用font-family屬性的. 
          受支持的層疊樣式表(CSS)屬性和值,及其相應(yīng)的ActionScript屬性名稱(小括號內(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實體: <(小于號: <), >(大于號: >), &(和: &), "(雙引號: "), '(撇號,單引號: &apos;) 
          其中樣式對象的兩種寫法: 
          寫法一: 
          var sampleStyle:Object = new Object(); 
          sampleStyle.color = "#FFFFFF"; 
          sampleStyle.textAlign = "center"; 
          css.setStyle(".sample", sampleStyle); 
          寫法二: 
          var sampleStyle:Object = {color: "#FFFFFF", textAlign: "center"}; 
          css.setStyle(".sample", sampleStyle); 
          【對用戶輸入的文字進(jìn)行樣式化】 
          使用defaultTextFormat屬性,樣式會施加至用戶鍵入輸入框的文字身上: 
          var formatter:TextFormat = new TextFormat(); 
          formatter.color = 0x0000FF; //把文字變成藍(lán)色 
          field.defaultTextFormat = formatter; 
          【對現(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; } 
          也可以使用以逗號隔開的字體清單: 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文件中,處于類宣告之外.你可以內(nèi)嵌TrueType字體或系統(tǒng)字體.內(nèi)嵌TrueType字體時的語法: 
          [Embed(source="pathToTtfFile", fontName="FontName", mimeType="application/x-font-truetype")] 
          pathToTtfFile: ttf文件的路徑,TrueType字體的路徑可以是相對的,也可以是絕對的; 
          FontName: 字體名稱; 
          內(nèi)嵌系統(tǒng)字體的語法: 
          [Embed(systemFont="Times New Roman", fontName="Times New Roman", mimeType="application/x-font-truetype")] 
          fontName: 以相同名稱作為實際系統(tǒng)字體名稱. 
          注意: 在使用嵌入字體時,要把TextField的embedFonts屬性設(shè)為true,這樣TextField只能用內(nèi)嵌字體了.如果你試著替 embedFonts設(shè)為true的TextField使用設(shè)備字體,什么都不會顯示.如果embedFonts設(shè)為true,就無法指定以逗號相隔的字 體清單. 
          【建立可以旋轉(zhuǎn)的文字】 
          使用內(nèi)嵌字體.當(dāng)你旋轉(zhuǎn)文字框時,設(shè)備字體就會消失. 
          【顯示Unicode文字】 
          1. 從外部來源載入Unicode文字; 
          2. 假如你的編輯器支持Unicode(如 Flex Builder),則可以直接在ActionScript程序中使用該字符; 
          3. 使用Unicode轉(zhuǎn)義字符,ActionScript里所有Unicode轉(zhuǎn)義字符都以\u開頭,后面再跟四位十六進(jìn)制數(shù)字. 
          注意: 如果你想取得Unicode字符,在Windows下使用: 開始>所有程序>附件>系統(tǒng)工具>字符映射表. 
          【把Flash Player的焦點帶給文字框】 
          stage.focus = field; 
          把焦點移除: 
          stage.focus = null; 
          注意: 當(dāng).swf文件首次載入至網(wǎng)頁瀏覽器時,并沒有焦點.因此,以程序的方式把焦點指定給Flash應(yīng)用程序的一個元素前,必須先把焦點移至Flash Player. 
          【以ActionScript選取文字】 
          使用TextField.setSelection(beginIndex:int, endIndex:int):void 
          為了可以正常選取文字,文字框必須具有焦點: 
          stage.focus = field; //把焦點設(shè)給文字框 
          field.text = "This is example text"; //設(shè)定文字 
          field.setSelection(0, 4); //把"This"這個單詞以高亮顯示 
          使用只讀的selectionBeginIndex和selectionEndIndex屬性訪問所選取的字符范圍的索引. 
          【在文字內(nèi)設(shè)定安插點(游標(biāo)位置)并訪問游標(biāo)位置的索引值】 
          可以使用TextField.setSelection()把起始和結(jié)尾的索引參數(shù)都設(shè)成相同值,在文字內(nèi)設(shè)定游標(biāo)位置(假設(shè)具有焦點): 
          field.setSelection(0, 0); //在第一個字符前擺放安插點 
          trace(field.caretIndex); //輸出游標(biāo)位置的索引值

           

          本文轉(zhuǎn)自:http://hi.baidu.com/honfei/blog/item/df5d1e945a7b441bd31b7045.html



          ---------------------------------------------------------------------------------------------------------------------------------
          說人之短,乃護(hù)己之短。夸己之長,乃忌人之長。皆由存心不厚,識量太狹耳。能去此弊,可以進(jìn)德,可以遠(yuǎn)怨。
          http://www.aygfsteel.com/szhswl
          ------------------------------------------------------------------------------------------------------ ----------------- ---------
          posted on 2009-04-05 19:35 宋針還 閱讀(376) 評論(0)  編輯  收藏 所屬分類: FLEX

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 如皋市| 桦川县| 红原县| 杨浦区| 宁明县| 信阳市| 台湾省| 乌拉特中旗| 岳池县| 泰安市| 利川市| 体育| 锦州市| 太和县| 赣州市| 武冈市| 大姚县| 成安县| 江川县| 武陟县| 黔西| 大足县| 扬州市| 太原市| 马山县| 长春市| 天全县| 惠安县| 包头市| 樟树市| 宜章县| 游戏| 宁化县| 大荔县| 台南市| 安国市| 右玉县| 乌拉特前旗| 丹阳市| 沭阳县| 高平市|