华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
  當(dāng)前位置:設(shè)計(jì)制作 > Flash > 文章內(nèi)容
  

FLASH教程:FLASHAS的使用技巧匯總

 [ 2017年8月19日 ] 【

  都是在項(xiàng)目中總結(jié)的,經(jīng)過實(shí)踐的,在flex2 as3下使用的。

  as調(diào)js

  ExternalInterface.call("js函數(shù)名",參數(shù):數(shù)組);(可以接收返回值)

  js調(diào)as

  as:ExternalInterface.addCallback("js中使用的函數(shù)名(字符串)", as中的函數(shù)(函數(shù)類型));

  js:SWF名.js中使用的函數(shù)名(參數(shù));

  對象清理:

  as中如果某個(gè)對象不被使用,且沒有任何對象引用它,則此對象會被回收器回收(不一定什么時(shí)候),所以用完的對象一定要處理(比如加的監(jiān)聽要刪除等等),否則會長占內(nèi)存。

  重繪:

  flash中被擋住的對象也會被重繪,比如在一個(gè)位置不停的畫圓,畫到幾百或幾千層,當(dāng)鼠標(biāo)經(jīng)過這塊的時(shí)候會感覺到速度變慢,查看cpu狀態(tài)會看到cpu被占滿,但不會占內(nèi)存。

  判斷對象類型:

  if(a is 類型){}

  獲得對象類型:

  trace(typeof 對象)輸出對象類型

  類型轉(zhuǎn)化:

  var a:類型 = b as 類型;

  強(qiáng)轉(zhuǎn):

  var a:類型 = 類型(b);

  判斷數(shù)字:

  isNaN(表達(dá)式),注意是數(shù)字時(shí)返回false

  Timer

  不要認(rèn)為Timer可以極其準(zhǔn)確;使用Timer時(shí)間間隔不要低于10毫秒.

  private,protected,internal,public訪問權(quán)限

  private:只能在類本身內(nèi)部訪問

  protected:可以由類本身或任何子類訪問.

  internal:可以由類本身或者相同包內(nèi)的任何類訪問;

  public:可以在類內(nèi)部訪問,也可以由類實(shí)例訪問

  for...in與for each...in的區(qū)別

  與for...in循環(huán)不同的是,for each...in循環(huán)中的迭代變量包含屬性所保存的值,而不包含屬性的名稱(或主鍵,索引).

  例如:var obj:Object={name1:value1,name2:value2};

  for...in取出的是name,for each...in取出的是value

  對象:

  AS中所有對象可默認(rèn)互相轉(zhuǎn)換,如數(shù)組可以當(dāng)作Map來用。

  但是作為數(shù)組來用時(shí),就不能保證順序了。

  比如:

  var array:Array = new Array();

  array["a"] = new Object();

  ToolTip

  如果禁止ToolTip顯示,

  1.this.truncateToFit = false;(不會出現(xiàn)...)

  2.重寫updateDisplayList,并最后super.toolTip = null;(會出現(xiàn)...)

  反射:

  classType = flash.utils.getDefinitionByName(className) as Class;

  new classType();

  格林尼治時(shí)間 格式化時(shí)出錯(cuò)。(如中國 時(shí)區(qū),1970/01/01 08:00時(shí)出錯(cuò),已經(jīng)確認(rèn)是flex的bug)

  replace所有

  AS中沒有replaceAll 函數(shù),要實(shí)現(xiàn)這個(gè)函數(shù)可以用正則表達(dá)式

  如: 將 00:00:00 中的 ’:‘替換成  ‘ ‘ 可如下實(shí)現(xiàn)

  var testStr : String = "00:00:00";

  var repedStr : String = testStr.replace(/:/g, " ");

  /:/g 后面的g不能少, g 表示全局

  AS對象深Clone方法:

  private function clone(_source:Object):* {

  var copier:ByteArray = new ByteArray();

  copier.writeObject(_source);

  copier.position = 0;

  return(copier.readObject());

  }

  mx_internal類型的方法也可以重載:(不推薦)

  需要在import的最下面進(jìn)行如下聲明-

  use namespace mx_internal

本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
高唐县| 阿拉善盟| 麻江县| 颍上县| 海淀区| 铁岭县| 涞源县| 澳门| 莱芜市| 日照市| 宜春市| 加查县| 潮安县| 海门市| 玛曲县| 龙川县| 财经| 肇州县| 堆龙德庆县| 宜黄县| 赤壁市| 莆田市| 衡东县| 上蔡县| 北海市| 竹溪县| 平阴县| 花莲市| 石泉县| 若尔盖县| 沙坪坝区| 南阳市| 土默特左旗| 江城| 会泽县| 宜兰市| 澄江县| 嘉义市| 集安市| 肥东县| 新沂市|