天才教育網(wǎng)合作機(jī)構(gòu) > 設(shè)計(jì)軟件培訓(xùn)機(jī)構(gòu) > Flash培訓(xùn)機(jī)構(gòu) >

東莞設(shè)計(jì)培訓(xùn)網(wǎng)

歡迎您!
朋友圈

400-850-8622

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:設(shè)計(jì)軟件培訓(xùn)資訊 > Flash培訓(xùn)資訊 > 體驗(yàn)Flash MX(3):界面組件Components UI

體驗(yàn)Flash MX(3):界面組件Components UI

日期:2021-07-01 21:16:06     瀏覽:336    來源:東莞設(shè)計(jì)培訓(xùn)網(wǎng)

  Flash 的發(fā)展促進(jìn)了網(wǎng)頁技術(shù)的發(fā)展,直到發(fā)展為至今的Flash MX,Macromedia的Swf格式已經(jīng)基本成為一種新的網(wǎng)頁動(dòng)畫標(biāo)準(zhǔn)。新的Flash MX加入了Properties Inspector之后,看起來更像可愛的Dreamweaver,而另一主要特色Components 的引入,Macromedia提供了我們更快捷的制作手段。

  我們今天的話題就是界面組件 Components UI,我們將通過幾個(gè)例子來看看它的特色和學(xué)習(xí)使用的步驟。

  Macromedia為我們預(yù)設(shè)了7個(gè)Components UI,它們分別模擬了網(wǎng)頁中的CheckBox、ComboBox、ListBox、PushButton、RadioButton、ScrollBar,ScrollPane(ScrollBar的圖片形式)。我們一個(gè)一個(gè)來看。(如圖1)

(圖1)

  Components的使用方法類似v5中的SmartClip(已經(jīng)進(jìn)入歷史),通過封裝好的結(jié)構(gòu),只要給幾個(gè)入口參數(shù)即可達(dá)到目的。

  類似網(wǎng)頁中的Checkbox,多用于用戶按照自己的情況選擇不同的內(nèi)容。我們首先按F11打開Components庫,然后用鼠標(biāo)從其中托拽出幾個(gè)Checkbox部件,接下來你要做的只是在Properties Inspector中給入不同的參數(shù)即可,Label是修改顯示內(nèi)容,Initial Value是初始點(diǎn)擊狀態(tài),Label Placement是文本出現(xiàn)的位置(左右)。(如圖2)

(圖2)

  Handler是非常有用的,它可以在部件觸發(fā)事件的時(shí)候同時(shí)激活一個(gè)Handler程序,這個(gè)程序我們在主場景加入:

  function clickCheckA() {
   trace(a.getValue());
  }

  function clickCheckB() {
   trace(b.getValue());
  }

  Components UI的每個(gè)部件在運(yùn)行的時(shí)候都是封裝好的MovieClip,我們也可以通過給予Instance Name來用Action 控制其屬性和方法。

  接著分別寫入Shoping和Music的Change Handler里面,加入后,在程序運(yùn)行的時(shí)候,我們就會(huì)發(fā)現(xiàn),在點(diǎn)擊事件的同時(shí),Handler程序也同時(shí)運(yùn)行,并獲取當(dāng)前的點(diǎn)擊狀態(tài)。(圖3)

(圖3)

  Handler程序的目標(biāo)還可以通過setChangeHandler來改變。

  2、ComboBox:

  ComboBox也類似網(wǎng)頁中的ComboList,是當(dāng)用戶需要從中選擇單獨(dú)數(shù)據(jù)的時(shí)候使用的。從Components庫中拉出一個(gè)ComboBox,并放置到適當(dāng)位置,取名Instance為c,這次我們來看看手動(dòng)加入數(shù)據(jù)和Action加入數(shù)據(jù)的不同:

  在Properties Inspector面板分別打開Label和Data,并加入如下數(shù)據(jù):

(圖4)

  選中c并按F2打開Action面板,在c的Action面板上加入Action:

  onClipEvent (load) {

  this.addItem("china",_root.a);

  this.addItem("usa",123);

  this.addItem("england",false);

  this.sortItemsBy("label","asc");

  }

  兩種方法實(shí)現(xiàn)的結(jié)果都是一樣的,但Action更靈活一些,例如動(dòng)態(tài)加入數(shù)據(jù)和排序。

  3、ListBox

  ListBox和ComboBox十分的相似,而且事件和屬性很多都一樣,只是不同之處在于ComboBox是單行下拉滾動(dòng),而ListBox是平鋪滾動(dòng)。(圖5)

(圖5)

  4、RadioButton:

  通常都是給出一些選擇,但是只可以選擇一個(gè)的網(wǎng)頁上總會(huì)看到的那種單選框。值得注意的是所有的RadioButton都會(huì)歸于某個(gè)Group,這個(gè)Group組在默認(rèn)狀態(tài)下是radioGroup,每個(gè)Group只可以有一個(gè)被選中,所以不同的Group也可以有不同的被選中的內(nèi)容,但是相同的Group則不可以。(圖6)

(圖6)

 5、ScrollBar:

  在Flash MX中已經(jīng)把以前經(jīng)常用到的Scroll這個(gè)屬性列為垃圾代碼之列,都是因?yàn)檫@個(gè)Component的出現(xiàn)導(dǎo)致。首先用Text工具建立一個(gè)Input文本區(qū),并且命名為“txt1”,也可以使用來不使文本背景透明,接著,我們放入測試文本的Action在*幀:

  txt1.text="never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...never mind...";

  雖然有些像無用的代碼,但是只有這樣我們才可以使Scroll狀態(tài)激活。

  文本準(zhǔn)備好了之后,可以拉入一個(gè)ScrollBar到場景中,為了和文本區(qū)分的明顯,我們把它和文本間隔一些距離。放好之后只要指定Target TextField為txt1即可,接著可以運(yùn)行著測試一下,會(huì)發(fā)現(xiàn)文本超出自己的*顯示長度時(shí),ScrollBar狀態(tài)會(huì)被激活。(圖7)

(圖7)

  6、ScrollPane:

  ScrollPane是非常有創(chuàng)意的ScrollBar改進(jìn)版,它雖然不支持device文本,但是支持MovieClip對象,這就意味著我們可以把圖片和Swf放入其中(我想只要有這個(gè)功能就已經(jīng)很Crazy了)

  馬上拉入一個(gè)ScrollPane到場景中,然后就利用昨天那張boy.jpg來用用,在ScrollPane的Instance的Action中寫:

  onClipEvent (load) {
   function checkLoad() {
    trace("loaded");
    this.tempObj=this.getscrollcontent();
    trace(this.tempObj._name);
   }
   this.loadScrollContent("boy.jpg","checkLoad",this);
  }

  方法loadScrollContent是讀入swf或者jpg到一個(gè)MovieClip中,讀取過程由checkLoad這個(gè)handler處理??墒沁@個(gè)MovieClip是什么呢?不可能存在的?帶著問題我們就加入了this.tempObj=this.getscrollcontent(); trace(this.tempObj._name);這兩個(gè)語句來測試一下。經(jīng)測試發(fā)現(xiàn)這個(gè)MovieClip的Instance名稱是“l(fā)oadTemp”(這個(gè)發(fā)現(xiàn)可以利用來控制讀入的swf/jpg屬性)(圖8)

圖8,今天也很多圖……)

  7、PushButton

  這個(gè)東西還是沒什么特色(也不可能有什么特色),只是一般遞交內(nèi)容的時(shí)候給一個(gè)Handler處理/糾錯(cuò)一下而已。

  Components UI的StyleFormat:

  我們可以直接把它形象的叫做Flash的CSS,經(jīng)常我們要修改的風(fēng)格樣式我們可以定義為一個(gè)公用的樣式。例如把這個(gè)寫入*幀:

  globalStyleFormat.arrow = 0x088880;

  globalStyleFormat.shadow = 0x123456;

  globalStyleFormat.highlight3D = 0x333300;

  globalStyleFormat.background = 0x456789;

  globalStyleFormat.face = 0x456789;

  globalStyleFormat.textColor = 0x011001;

  globalStyleFormat.applyChanges();

  globalStyleFormat是一個(gè)對象,主要存放當(dāng)前ComponentsUI的所有樣式,我們用一些隨機(jī)數(shù)據(jù)先看看它的效果(具體的屬性請參看Help文檔),記住修改完后要用applyChanges()方法更新樣式。(圖9)

(圖9)

  我們的Random數(shù)據(jù)看上去還不錯(cuò),這證明了ComponentsUI的靈活性特別好,對于喜歡經(jīng)常更改Skin的朋友來說應(yīng)該是個(gè)福音。

  Flash MX的世界是精彩的,而更閃亮的世界就在我們的前方……

  文件下載->

  注意:

  ComboBox和ListBox實(shí)際上可以作為小型的數(shù)據(jù)庫使用(不要被用戶在屏幕上看到即可),用Label作為Id,用Data存儲(chǔ)所有數(shù)據(jù),并用適當(dāng)?shù)姆指舴蛛x不同字段,就可以達(dá)到數(shù)據(jù)庫的效果,如果需要,可以和遠(yuǎn)程服務(wù)器連接,或者通過FScommand寫入硬盤。

  ComboBox和ListBox的Label不要超過400行,否則系統(tǒng)會(huì)很慢。

  ScrollPane是可以拖動(dòng)內(nèi)容的,方法是只要修改DragContent為True即可。

  專家模式->普通模式:Ctrl+Shift+N,原來是Ctrl+N;

  普通模式->專家模式:Ctrl+Shift+E,原來是Ctrl+E。

如果本頁不是您要找的課程,您也可以百度查找一下: