ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>av一区二区久久,爱看av在线,中文字幕中文字幕在线中心一区http://www.aygfsteel.com/cph8066/天将降大ä»ÖMºŽæ˜¯äh也!zh-cnSun, 15 Jun 2025 12:06:28 GMTSun, 15 Jun 2025 12:06:28 GMT60[转蝲]如何学习(f¨¤n)Flex Frameworkhttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218426.html姜大å?/dc:creator>姜大å?/author>Tue, 29 Jul 2008 06:46:00 GMThttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218426.htmlhttp://www.aygfsteel.com/cph8066/comments/218426.htmlhttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218426.html#Feedback0http://www.aygfsteel.com/cph8066/comments/commentRss/218426.htmlhttp://www.aygfsteel.com/cph8066/services/trackbacks/218426.html
åQŠFlex 的基½CŽæž¶æ§?br />
關於 flex 基本上常被問到的不外乎就是「如何可以學好它åQŸã€ï¼Œè¦çž­è§£é€™å€‹å•™åŒçš„½{”案基本上只要看懂下面這圖ž®±ok了ã€?br />


åQŠActionscript 該學的重é»?br />
從最底層看è“våQŒæœ€ä¸‹é¢çš?actionscript 3是一切的基礎åQŒå®ƒæ˜?flash/flex ¾R¨ç¨‹ä½¿ç”¨çš„唯一½E‹å¼èªžè¨€åQŒå› æ­¤ä“Q何äh惛_­¸å¥?flex ½W¬ä¸€ä»¶äº‹¾i•對是先摸熟 actionscript 這個語­a€åQŒåŒ…含:(x¨¬)

1. 它的基本語法與結æ§?array, hash, loop, if else…)

2. DisplayList (DisplayObject, DisplayObjectContainer)èˆ?Event system(bubbling, propagating…)

3. Sound, Video, NetConnection �Graphics class

掌握 as3 的精華後åQŒæŽ¥ä¸‹ä¾†ž®±å¯ä»¥é€²å…¥ flex frameworkã€?br />
åQŠFlex framework 的重é»?br />
基本ä¸?flex framework ž®±æ˜¯ç”?actionscript 寫成的框æžÓž¼Œå› æ­¤ä¹Ÿå¯ä»¥æŠŠå®ƒçœ‹æˆæ˜¯ as3的最好示½‹„,看著 framework source å­?actionscript 也是æŒÞZ¸éŒ¯çš„åQŒåªæ˜¯èµ\會變很長ã€?br />
Flex Framework 整個體¾p»éžå¸¸åšå¤§ç²¾æ·±ï¼Œé€šå¸¸ä¸€èˆ¬äh不太可能完整把它學完åQŒåªéœ€è¦é‡ž®æœ€å¸¸ç”¨åˆ°çš„部䆾熟æ?zh¨¨n)‰ž®±å¥½åQŒåœ–中列出的那三å¡?component, managers, style/skin)ž®±æ˜¯æˆ‘個äh認為所有初學者最優先該學會的ã€?br />
åQŠComponent 該學些什éº?br />
Component 是整å€?flex framework 的基½CŽï¼Œòq¾ä¹Ž80% 的元素都是由 UIComponent ¾J¼æ‰¿è€Œä¾†åQŒä¾‹å¦‚最æ ÒŽ(gu¨©)œ¬çš„çš„ 它本íw«å°±æ˜¯ä¸€å€?UIComponentåQŒå› æ­¤ï¼Œç†Ÿæ?zh¨¨n)?component ž®±æˆç‚ºå­¸å¥?flex framework 最æ ÒŽ(gu¨©)œ¬ä¹Ÿæœ€é‡è¦çš„基本功

Flex 內徏äº?二十òq‘Ö€?UI controls, 例如 Button, DataGrid, HBox½{‰ï¼Œä»¥ç¨®™åžä¾†åˆ†ï¼Œé€™äº› components 可以概分ç‚ÞZ¸‰å¤§é¡žåQ?br />
-Controls: Button, DateChooser, Slider…
-Containers: Box, DividedBox, Panel…
-List: DataGrid, Tree, TileList…

初學者第一步至ž®‘該學會怎麼用這些元äšgåQŒçž­è§£æ¯å€‹å…ƒä»¶çš„ properties, events, styles, effects…åQŒçŸ¥é“怎麼在手冊裏查它çš?API æ–‡äšgåQŒä»¥åŠä½•時該用何½E®å…ƒä»¶ã€?br />
進階一點,則是學會怎麼修改這些元äšgåQŒä¾‹å¦‚繼承一å€?Button 下來加上不同的功能,或是寫不同的 skin border 來改變它的外觀ã€?br />
再更進階åQŒå‰‡æ˜¯é–‹å§‹ç ”½I¶å…ƒä»¶çš„生命週期åQŒçž­è§£æ¯å€‹å…ƒä»¶æ˜¯ä½•時初始化,元äšg內部有那些關鍉|Œ‡ä»¤èˆ‡å®ƒå€‘個別的功用,然後可以試著建立自已çš?custom componentã€?br />
這一關看起來å®ÒŽ(gu¨©)˜“但實際上最困難åQŒå› ç‚?flex çš?component framework 寫的非常龐大åQŒé›–然亂中有序但要在æ·äh²Œä¸­çœ‹å‡ºéš±è—çš„æž¶æ§‹ç„¶å¾ŒæŠ“住重點整串提è“våQŒå°±éžå¾—有äh帶著指引正確的途徑才比較可能達成ã€?br />
åQŠmanager 是什éº?br />
圖中最上方的第二塊ž®±æ˜¯ managerã€?br />
flex 裏有很多çš?managersåQŒè² è²¬åšå„種不同的工ä½?廢話…)åQŒå¹¾å€‹æ¯”較重要的包含åQ?br />
-SystemManager:
它是每支 flex app 的根源,最先被下載åQŒä¹Ÿæœ€æ—©å•Ÿå‹•,由它進行一連串çš?app boot‹¹ç¨‹

-StyleManager:
它負責整支app çš?css style 套用èˆ?skin 生成åQŒå¦‚果想玩動æ…?css 載換也靠å®?br />
-DragManager:
Flex最大的賣點ž®±æ˜¯ drag and dropåQŒé€™å€?manager ž®±æ˜¯èƒŒå¾Œçš„英雄,初學者至ž®‘要學會怎麼處理 drag 行為的五個事ä»Óž¼Œä»¥åŠå¦‚何在不同元仉™–“做拖放;進階的玩家則應該深入研究這支 manager 是怎麼寫成的,詳細é–Þp®€å®ƒçš„ source 會得到意想不到的無窮樂趣(如果你讀完卻沒有這種感覺åQŒå‘ƒåQŒé‚£ä»£è¡¨ä½ è©²å†å¤šè®€òq¾æ¬¡åQŒå¦‚果還是沒有,那請¿Uä¸‹è¯çµ¡æˆ?:D)

-ModuleManager:
使用 Flex 開發大型應用½E‹å¼æ™‚,往往會將½E‹å¼åˆ‡å‰²æˆè¨±å¤šå°çš?module, 這å€?manager ž®±æ˜¯è² èãK載入並管理所有的 module (包含它的 class partition)åQŒåˆå¿ƒè€…或­aÞq”¨ä¸åˆ°åQŒä½†æœ‰å¿—深入的玩家一定要很熟ã€?br />
-CursorManager:
這個用到的時機不是很多åQŒä½†å¶çˆ¾è¦æ›ä¸€ä¸?cursor 時還是會用到åQŒåˆå­¸è€…至ž®‘要知道怎麼用指定的圖案åŽÀL›æŽ‰ç³»¾i±cursorã€?br />
åQŠStyle/Skin 的重é»?br />
CSS style èˆ?skinning æ˜?Flex 最大的賣點之一åQŒä¹Ÿæ˜¯é–‹ç™¼éŽ½E‹ä¸­è¼ƒç‚ºéºÈ…©ä¹Ÿæœ€è€—時的部份ã€?br />
初學者應該要徹底瞭解如何使用 CSS style 來打點一æ”?flex app 的外觀åQŒæ›™åè‰²ã€ç´ æï¼Œä½¿ç”¨å¤–部 assets 修飾介面ã€?br />
中階玩家則應該瞭è§?skinning 的系¾i±ï¼ŒåŒ…含 programmatic skinning èˆ?graphical skinåQŒå®ƒå€‘兩的差別?使用時機åQŸå¦‚何客製化åQ?br />
更高階的玩家則應該熟æ‚(zh¨¨n)‰æ•´å€?Styling system 的運作模式,外加如何動態載入 css åœ?runtime 換掉整個介面ã€?br />
½¡è€Œè¨€ä¹‹ï¼Œflex app 寫的好不好,外行人其實看不太å‡ÞZ¾†åQŒä½†ä¸€æ”?app UI ¾ŸŽä¸¾ŸŽå‰‡æ˜¯ä¸€¾˜Õd…©çžªçœ¼åQŒæ¯”較漂亮的那就先加十分

(ç•¶ç„¶åQŒæœ‰ä¸€½E®æƒ…況是åˆÀL„ç”¨å¿ƒåŽÈ¾ŽåŒ–了介面¾iæžœå¼„åéy成拙搞的怨聲載道äºÞZh喊打åQŒä½†é‚£ç¨®æ¯”較不多見,也不是每家公叔Rƒ½æœƒæžåˆ°é€™æ­¥ç”°åœ°åQŒå°±å…ˆä¸­aŽè«–)

åQŠå­¸å®ŒåŸºæœ¬åŠŸå¾Œä¸‹ä¸€æ­?br />
在我的標準裏åQŒç•¶ä¸€å€?developer ž®ä¸Šåœ–內每一塊都有中½{‰ç¨‹åº¦çš„瞭解後,ž®Þq®—是完æˆ?flex ˜¡Šæˆæ•™è‚²åQŒå¯ä»¥é‚å‘下一個階ŒDüc€?br />
也就是開始熟æ‚(zh¨¨n)?application 的製作手法,這包å?br />
-瞭解臛_°‘一½E®ä»¥ä¸Šçš„開發框架åQŒä¾‹å¦?CairngormåQŒè€å¯¦èªªæˆ‘ž®é€™å€‹æ¡†æž¶æ²’什麼好æ„?因為手法太複雜,只適合超複雜ç™ÀLœˆ­aˆç•«æˆ–火星探勘時使用)åQŒä½†å®ƒçµæ§‹è¨­­aˆè‰¯å¥½ï¼Œåˆæ˜¯æ¥­ç•Œå…¬èªçš„聖盃,½{‰æ–¼æ˜¯å°ˆå®¶å€‘共通的語言åQŒå› æ­¤è‡³ž®‘要先瞭解它在做什éºû|¼Œž®‡ä¾†åœ¨å°ˆæ¥­å ´åˆæ‰å¥½æºé€?俗話èª?know the rules so you know what you are breaking, ž®±æ˜¯æŒ‡é€™æƒ…æ³?

-接著可以看看比較½¡å–®çš„æ‰‹æ³•,åƒ?Riawave, Model-Glue:Flex, PureMVC…½{‰ï¼ŒåŸºæœ¬ä¸Šé€™äº›æ¡†æž¶­a­è¨ˆæ–¹å¼éƒ½å¤§åŒå°ç•ŽÍ¼Œæ¯å€‹éƒ½æœ‰ä¸åŒçš„æ‡‰ç”¨å ´åˆåQŒå¯ä»¥æŒ‘一個喜歡的再自行修攏V€?br />
-瞭解基本的概念,例如 Value Object, DAO, MVC ½{‰ï¼Œå®ƒå€‘在大部份的½E‹å¼æ¡†æž¶è£éƒ½æœƒå‡ºç¾ï¼Œæ—©é»žå­¸æœƒæ—¥å­æ¯”較輕鬆ã€?br />
接著ž®±æ˜¯é–‹å§‹å¯¦éš› codingåQŒå¯«ä¸€å€‹ä¸­ž®åž‹è¦æ¨¡çš„appåQŒä¸è«–是單純çš?CRUD appåQŒæˆ–是留­a€ç‰ˆã€é›»è©Þq°¿ã€é€²éŠ·å­˜ç®¡ç†éƒ½å¯ä»¥åQŒç±ç”±å¤šå¯«ä¾†å¼·åŒ–¾R¨ç¨‹çš„æ¦‚念,然後透過大量çš?peer code review 來找出可攚w€²çš„地方ã€?br />
åQŠçµè«?br />
¾iè«–還是老話一句:(x¨¬)要入門 flex ­‘…ç´š½¡å–®åQŒåªè¦ä¸æ˜¯ç™½ç™¡æ‡‰è©²ä¸€ž®æ™‚ž®Þp¡ŒåQŒä½†è¦æˆç‚ºå¯ç¨ç•¶ä¸€é¢çš„ž®ˆæ¥­é–‹ç™¼è€…,路就很長åQŒå¦‚果沒有走ž®æ–¹å‘很å®ÒŽ(gu¨©)˜“ž®Þp¿·å¤Þq”šè‡Ïxœ€å¾Œæ”¾‹‚„ã€?br />
換句è©ÞpªªåQŒè¦èƒ½æˆç‚ø™·å ´ä¸ŠçœŸæ­£éœ€è¦çš„ professional developeråQŒä¸¦ä¸å¦‚表面上想像的å®ÒŽ(gu¨©)˜“(其實我想每種技術領域跟產業都一樣吧)åQŒé€™ä¹Ÿæ˜¯æˆ‘過去半年來協助很多公司做 recruiting 後的感想ã€?br />


]]>
åŸÞZºŽPureMVC的一个Flex MP3播放器分æž?/title><link>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218424.html</link><dc:creator>姜大å?/dc:creator><author>姜大å?/author><pubDate>Tue, 29 Jul 2008 06:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218424.html</guid><wfw:comment>http://www.aygfsteel.com/cph8066/comments/218424.html</wfw:comment><comments>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218424.html#Feedback</comments><slash:comments>32</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cph8066/comments/commentRss/218424.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cph8066/services/trackbacks/218424.html</trackback:ping><description><![CDATA[     摘要:       做Flex做久了做大了åQŒå°±ä¼?x¨¬)觉得之前写的的Flexä»£ç å¼€å§‹æœ‰ç‚¹äØ•åQŒå“ªæ€•你写的规范了,但总觉得结构松散,¾l´æŠ¤ä¸æ–¹ä¾¿ï¼Œç›æ€¿¡å¾ˆå¤šäººåˆšå¼€å§‹åšFlex的时候,都是惛_ˆ°ä»€ä¹ˆåŠŸèƒ½ï¼Œž®±å†™ä»€ä¹ˆåŠŸèƒ½ï¼Œæˆ–è€…æœ‰äº›å¥½ç‚¹çš„åQŒå°±å…ˆç”»äº†ä¸ªå¤§ä½“的流½E‹å›¾ä¹‹ç±»çš„ï¼Œå› äØ“(f¨´)现在Flex普及得还不够åQŒå¾ˆå¤šäh做Flex也是试探阶段åQŒä¸æ•¢ç”¨ä½œå•†ä¸šé¡¹ç›®æˆ–其它大项目,只会(x¨¬)用来试水技术层面的...  <a href='http://www.aygfsteel.com/cph8066/archive/2008/07/29/218424.html'>阅读全文</a><img src ="http://www.aygfsteel.com/cph8066/aggbug/218424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cph8066/" target="_blank">姜大å?/a> 2008-07-29 14:44 <a href="http://www.aygfsteel.com/cph8066/archive/2008/07/29/218424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Flex中的皮肤åQˆäºŒåQ‰å®Œhttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218421.html姜大å?/dc:creator>姜大å?/author>Tue, 29 Jul 2008 06:40:00 GMThttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218421.htmlhttp://www.aygfsteel.com/cph8066/comments/218421.htmlhttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218421.html#Feedback2http://www.aygfsteel.com/cph8066/comments/commentRss/218421.htmlhttp://www.aygfsteel.com/cph8066/services/trackbacks/218421.html
      先在˜q™é‡Œè§£æžä¸€ä¸‹ï¼Œè¦ä»¥ä»£ç æ–¹å¼è‡ªå®šä¹‰ä¸€ä¸ªçš®è‚¤çš„话,需要自已编写一个皮肤子¾c»ï¼Œ¾l§æ‰¿ProgrammaticSkin˜q™ä¸ª¾c»ï¼Œ˜q™ä¸ªæ˜¯æ‰€æœ‰ç¼–写自定义皮肤的基¾c»ï¼Œè¯¥ç±»ä¹Ÿæ´¾ç”Ÿäº†å¦å¤–两个¾c»ï¼š(x¨¬)RectangularBorder ä¸?Border ¾c»ï¼Œéƒ½æ˜¯å·®ä¸å¤šçš„åQŒå¦‚果你是写Icon之类的小皮肤的话åQŒæ¯”如CheckBox或者RadioButton˜q™ç±»çš®è‚¤ä¸éœ€è¦å¤ªå¤æ‚的画å›ùN€»è¾‘åQŒè€Œä¸”大小固定åQŒå°±åƒæ˜¯ä¸€ä¸ªå°Icon吧,只是有几个状态而已åQŒè¿™¾cÕd°çš®è‚¤çš„话åQŒç‘ô承ProgrammaticSkinž®±å¯ä»¥äº†åQŒè€Œå†™ä¸€äº›å¤åˆçš„æŽ§äšgåQŒèƒŒæ™¯å¤§ž®å¯ä»¥è°ƒèЂ之¾cȝš„皮肤åQˆå…¶å®žå°±æ˜¯å¤§éƒ¨åˆ†çš®è‚¤åQ‰å°±ç”¨Border或者RectangularBorder¾c…R€‚但都有一个相同点åQŒå°±æ˜¯ç‘ô承了那些¾cÖM¹‹åŽï¼Œéƒ½å¿…需覆盖 updateDisplayList ˜q™ä¸ªæ–ÒŽ(gu¨©)³•åQŒè¿™ä¸ªæ–¹æ³•是ç”Þq¨‹åºè‡ªåŠ¨è°ƒç”¨ï¼Œå½“éœ€è¦ç”¨åˆ°æŽ§ä»¶æ—¶åQŒéœ€è¦æŽ§ä»¶çš„皮肤˜q›è¡Œè¡¨çްæ—Óž¼Œž®×ƒ¼š(x¨¬)调用那个æ–ÒŽ(gu¨©)³•åQŒæ‰€ä»¥ä½ å¿…需覆盖它,òq¶å°†ä½ çš„ç”Õd›¾é€»è¾‘代码写在那个æ–ÒŽ(gu¨©)³•里面。还有要注意的是åQŒè¿™ä¸ªçš®è‚¤ç±»ä¼?x¨¬)与你应用这皮肤的控件的Style讄¡½®å…׃ínåQŒä¹Ÿž®±æ˜¯è¯´ä½ å¯ä»¥åœ¨ç¼–写这个皮肤类代码里面åQŒä‹É用getStyleåQˆï¼‰½{‰ç­‰æ–ÒŽ(gu¨©)³•获得讄¡½®åœ¨ç›®æ ‡æŽ§ä»¶ä¸­çš„风格属性,比如说是<mx:Panel backgroundColor="0xffffff" borderSkin="MySkin"> 那么你可以在MySkin代码里获取这个颜色值来˜q›è¡Œç”Õd‡ºè¯¥é¢œè‰²çš„囄¡‰‡æˆ–其它操作,而直接将颜色值写æ­Õdœ¨ä»£ç é‡Œæ˜¯ä¸è§„范的åQŒå°±å¦‚我下面贴出来的的代码,不过å‡ÞZºŽè‡ªå·²æ‡’,快速代个示例代码,所以犯˜q™ä¸ªé”™äº†ã€‚说多了åQŒä¸‹é¢çœ‹çœ‹ä»£ç å…ˆã€?br />
好了åQŒæˆ‘们先看看看代码,˜q™ä†¾ä»£ç æ˜¯å†™äº†ä¸€ä¸ªPanel的皮肤:(x¨¬)
 1 package com.jiangzone
 2 {
 3     import mx.skins.Border
 4     import mx.core.EdgeMetrics;
 5     import mx.core.Container;
 6     import mx.graphics.RectangularDropShadow;
 7    
 8     public class MyPanelBorderSkin extends Border {
 9        
10         public function MyPanelBorderSkin():void {
11         }
12        
13         /**
14          * è¯¥æ–¹æ³•必需要覆盖,如果你要自定义自已的皮肤的话åQ?br /> 15          * è¯¥æ–¹æ³•当在控件更新外观时ž®†ä¼š(x¨¬)被自动调ç”?br /> 16          * ä¼?x¨¬)传入两个参数数åQŒç¬¬ä¸€ä¸ªæ˜¯WidthåQŒç¬¬äºŒä¸ªæ˜¯HeightåQŒå³æ˜¯è¯¥æŽ§äšg的宽与高
17          * */
18         override protected function updateDisplayList(w:Number,h:Number):void {
19             super.updateDisplayList(w,h);
20            
21             var ba:uint = 1;                //backgroundAlpha    èƒŒæ™¯é€æ˜Žåº?/span>
22             var bg:uint = 0xffffff;            //backgroundColor    èƒŒæ™¯é¢œè‰²
23             graphics.clear();                //graphics˜q™ä¸ªå±žæ€§æ˜¯çˆ¶ç±»é‡Œå·²¾læä¾›äº†çš?/span>
24             var p:Container = parent as Container;        //获取该皮肤所应用在的父容器,˜q™é‡Œä¸ºPanel
25            
26             //˜q™é‡Œéœ€è¦æ³¨æ„ï¼Œä¸€å®šè¦åˆ¤æ–­çˆ¶å®¹å™¨æ˜¯å¦å·²è¢«è®¾¾|®ï¼Œåœ¨æ–‡ç« é‡Œä½œè§£é‡?/span>
27             if(p){
28                 //获取容器定义的区域边界信息对è±?nbsp;          
29                 var vm:EdgeMetrics = p.viewMetrics;       
30                 //讄¡½®å››ä¸ªè§’的圆度
31                 var radiusContent:Object = {tl:vm.top,tr:0,bl:0,br:vm.top};   
32                 //标题栏圆åº?nbsp;  
33                 var radiusTitle:Object = {tl:vm.top,tr:0,bl:0,br:0};       
34                 //ç”ÖM¸€ä¸ªåœ†è§’矩形,整个背景
35                 this.drawRoundRect(0,0,w,h,radiusContent,bg,ba);
36                 //ç”ÖM¸€ä¸ªåœ†è§’矩形,标题æ ?nbsp;  
37                 this.drawRoundRect(0,0,w,vm.top,radiusTitle,0xff0000,.7);
38                 //ç”ÖM¸€ä¸ªåœ†è§’矩形,标题栏的那个高光水晶æ?/span>
39                 this.drawRoundRect(0,0,w,vm.top / 2,radiusTitle,0xffffff,.3);
40                
41                 //下面是画阴媄的ã€?/span>
42                 var dropShadow:RectangularDropShadow = new RectangularDropShadow();
43                 dropShadow.distance = 8;
44                 dropShadow.angle = 60;
45                 dropShadow.color = 0x000000;
46                 dropShadow.alpha = 0.4;
47        
48                 dropShadow.tlRadius = radiusContent.tl;
49                 dropShadow.trRadius = radiusContent.tr;
50                 dropShadow.blRadius = radiusContent.bl;
51                 dropShadow.brRadius = radiusContent.br;
52        
53                 dropShadow.drawShadow(graphics, 00, w, h);
54             }
55         }
56     }
57 }


上面的代码就是皮肤的代码åQŒä¹‹åŽä½ ˜q˜è¦åšçš„åQŒå°±æ˜¯å°†è¯¥çš®è‚¤åº”用到Panel˜q™ä¸ªå®¹å™¨é‡Œï¼š(x¨¬)
 1 <mx:Application
 2     xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"
 3     layout="absolute">
 4 
 5     <mx:Style>
 6         .myPanelSkin {
 7             borderSkin: ClassReference( "com.jiangzone.MyPanelBorderSkin" );
 8         }
 9     </mx:Style>
10    
11     <mx:Panel borderSkin="com.jiangzone.MyPanelBorderSkin"
12               width="200" height="150"  x="24" y="23"/>
13    
14 </mx:Application>


      代码很简单,˜q™é‡Œè¦è¯´ä¸€ä¸‹ï¼ŒviewMetrics ˜q™ä¸ªå±žæ€§æ˜¯Container控äšg所独有的属性,是一个只è¯Õd±žæ€§ï¼Œ¾~–写Container子类的时候都要覆盖它åQŒæ˜¯ç”¨äºŽå®šä¹‰˜q™ä¸ªå®¹å™¨æ­£æ–‡åŒÞZ¸Žè¾¹ç•Œå€¼çš„åQŒæ¯”如Canvas的四周都æ˜?åQŒæ‰€ä»¥æ²¡æœ‰æ ‡é¢˜æ ä¸Žè¾¹æ¡ï¼Œè€ŒPanelž®±æœ‰å››å‘¨çš„边界,而Top边界比较大,用作昄¡¤ºtitle的,所以如果你要做容器的皮肤的话,注意一下这个倹{€‚还有就是,ä¸ÞZ»€ä¹ˆèŽ·å–äº†çš®è‚¤åº”ç”¨çš„æŽ§ä»¶å¼•ç”¨ï¼ˆparentåQ‰åŽ˜q˜è¦åˆ¤æ–­å®ƒæ˜¯å¦äØ“(f¨´)½Iºï¼Ÿå› äØ“(f¨´)当程序加载到˜q™ä¸ªæŽ§äšgæ—Óž¼Œæ˜¯å…ˆåŠ è²é‚£ä¸ªçš®è‚¤çš„ï¼Œæ‰€ä»¥parent的值未被设¾|®ï¼Œæ˜¯ç©ºçš„,如果你不作判断的话,ž®†ä¼š(x¨¬)出现½Iºå¼•用的错误åQˆparent.viewMetricsåQ‰ï¼Œå½“åŠ è½½å®Œçš®è‚¤åŽï¼Œå†åŠ è½½æŽ§ä»¶åÆˆè®„¡½®æŽ§äšg的属性和讄¡½®çš®è‚¤åQŒè¿™æ—¶å°†ä¼?x¨¬)再‹Æ¡è°ƒç”¨updateDisplayList的方法,˜q™æ—¶parent才有å€û|¼Œž®±æ˜¯é‚£ä¸ªæŽ§äšg的引用。当改变了style或一些属性后åQŒåˆä¼?x¨¬)自动触发调用updateDisplayListæ–ÒŽ(gu¨©)³•ã€?br />
我们来看看最¾lˆè¿è¡Œæ•ˆæžœï¼š(x¨¬)



补充一下:(x¨¬)
在第一½‹‡æ–‡ç« é‡ŒåQŒè¯´äº†å°†çš®è‚¤åšåœ¨SWFæ–‡äšg里再加蝲åQŒæƒ³ä¸€ä¸‹ï¼Œå¯ä»¥ž®†è¯¥çš®è‚¤åšæˆåŠ¨ç”»MC的,而不单单只是一个画面,可以做成一些动ç”ÖM½œä¸ºçš®è‚¤ï¼Œä¹‹åŽåœ¨Flex引用该SWFçš„SymbolåQŒè¿™æ ïL(f¨¥ng)š®è‚¤å°±æœ‰äº†åŠ¨ç”»æ•ˆæžœäº†ï¼Œä¸åªåªæ˜¯å•çº¯çš„ä¸åŠ¨çš„òq³é¢å›¾ï¼

      Flex中的皮肤教程ž®Þp¯´åˆ°è¿™é‡Œï¼Œçš®è‚¤˜q˜æœ‰å¾ˆå¤šå¯æŽ¢ç´¢çš„åQŒåªè¦å¤§å®¶æœ‰æ±‚知‹ÆÔŒ¼Œå¤šç‚¹çœ‹çœ‹è‹±æ–‡æ–‡æ¡£åQŒçœ‹çœ‹åˆ«äººçš„例子½E‹åºä»£ç åQŒçŽ°åœ¨Flex也开源了åQŒä¹Ÿå¯ä»¥å¤šçœ‹çœ‹Flex的源码,ä¼?x¨¬)得到很多知识ï¼?br />




]]>
Flex中的皮肤åQˆä¸€åQ?/title><link>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218419.html</link><dc:creator>姜大å?/dc:creator><author>姜大å?/author><pubDate>Tue, 29 Jul 2008 06:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218419.html</guid><wfw:comment>http://www.aygfsteel.com/cph8066/comments/218419.html</wfw:comment><comments>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218419.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cph8066/comments/commentRss/218419.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cph8066/services/trackbacks/218419.html</trackback:ping><description><![CDATA[      好久没有写文章了åQŒä¸€ç›´ç”¨“å¿?#8221;æ¥äØ“(f¨´)自已扄¡±å£ï¼Œå…¶å®žæ˜¯æ‡’åQŒä¸˜q‡è¿™ä¸ªæœˆå‘生了这么大的事æƒ?5.12 让我们每个äh都永记心中,看到中国人的团结åQŒçœ‹è§è§£æ”‘Ö†›ä»¬å¿—愿者们˜q™ä¹ˆåŠªåŠ›åœîCØ“(f¨´)灑֌ºå¥‰çŒ®åQŒæˆ‘ä¹Ÿä¸èƒ½å†ä¸ø™‡ªå·²æ‰¾å€Ÿå£äº†ï¼Œè™½ç„¶æˆ‘远在广东,不能到现场去参与救缓åQŒé’±ä¹Ÿæ˜q‡äº†åQŒä½†æƒÏxƒ³åQŒæˆ‘˜q˜æœ‰äº‹æƒ…可以做的åQŒå°±æ˜¯ç”¨æˆ‘自已的知识åQŒå†™ç‚ÒŽ(gu¨©)Š€æœ¯æ–‡ç« ï¼Œè™½åˆ™ä¸èƒ½ç›´æŽ¥çš„å¸®åŠ©åˆ°ç‘ÖŒºåQŒä½†ä¹ŸäØ“(f¨´)国民提高Flex技术知识出分力åQŒåšå¥½æœ¬èŒå·¥ä½œã€‚在˜q™é‡Œå“†å—¦ç‚¹ä¹Ÿå¾—说句:(x¨¬)为灾区遇难者祈¼œøP¼Œä¸ºç¾åŒºæ•‘¾~“不懈努力的军民¾l™ä¸Žå´‡é«˜çš„æ•¬æ„?<br /> .....................................................(三分钟后)<br /> <br />       好了åQŒæˆ‘们è{入正题,之前我也写过Flex的动ç”ÖM¸Žå˜æ¢çš„æ–‡ç« ï¼Œä¸çŸ¥é“大家有没有看过。现在我要写的就是Flex中的皮肤样式斚w¢çš„,我技术不太好åQŒç®—是自已学ä¹?f¨¤n)Flex˜q‡ç¨‹ä¸­çš„理解体会(x¨¬)吧ã€?br />       ˜q™é‡Œæ˜¯ç¬¬ä¸€½‹‡ï¼Œž®†è®²˜qîC¸€ä¸‹Flex中如何应用UI的皮肤,其实应用UI皮肤不难åQŒä½ ä»¬åœ¨ä½¿ç”¨Flex的过½E‹ä¸­æ˜¯å¦è§‰å¾—Flex中自带的皮肤样式不太好看åQŸæˆ–者是惌™‡ªå·²åšä¸ªæ¯”较有特色的?下面ž®±æˆ‘们来说说皮肤吧,先来个简单的åQŒä½ ä»¬åœ¨åšç½‘™å‰|—¶åQŒåšå¯ÆDˆªæŒ‰é’®ä»€ä¹ˆçš„å¾ˆå¤šäººéƒ½æ˜¯ç”¨ä¸€ä¸ªå›¾ç‰‡æ¥ä½œäØ“(f¨´)一个按钮吧åQŸä¹‹åŽåšå‡ ä¸ªä¸åŒçš„颜è‰ÔŒ¼Œä¹‹åŽž®±åœ¨CSS或者JS里设¾|®ä¸€ä¸‹å½“é¼ æ ‡Overå’ŒDownå’ŒOut½{‰ç­‰åŠ¨ä½œæ—Óž¼Œž®±åˆ‡æ¢ä¸åŒé¢œè‰²çš„囄¡‰‡åQŒè¿™æ ·å®žçŽ°åŠ¨æ€æ•ˆæžœã€‚åœ¨Flex里也可以如此½Ž€å•的做皮肤。你可以先画好一个UI的皮肤,之就ž®±å°†è¯¥å›¾ç‰‡åº”用到Flex里面ã€?br /> 先来看看效果åQ?br /> <object xcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" height="200" width="200" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" > <param name="Movie" value="/images/blogjava_net/cph8066/z2008518224718.swf" /> <param name="Quality" value="high"/> <param name="wmode" value="transparent"/><embed src="http://www.aygfsteel.com/images/blogjava_net/cph8066/z2008518224718.swf" width="200" height="200" quality="high" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" ></embed> </object><br /> <br /> 之后我们来看看代码:(x¨¬)<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><?</span><span style="color: #ff00ff;">xml version="1.0" encoding="utf-8"</span><span style="color: #0000ff;">?></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Application </span><span style="color: #ff0000;">xmlns:mx</span><span style="color: #0000ff;">="http://www.adobe.com/2006/mxml"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #ff0000;"> creationComplete</span><span style="color: #0000ff;">="init()"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="257"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="182"</span><span style="color: #ff0000;"> backgroundGradientColors</span><span style="color: #0000ff;">="[#ffffff, #ffffff]"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">   <br /> </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Script</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 5</span> <span style="color: #000000;">        </span><span style="color: #0000ff;"><![CDATA[</span><span style="color: #808080;"><br /> </span><span style="color: #008080;"> 6</span> <span style="color: #808080;">           <br /> </span><span style="color: #008080;"> 7</span> <span style="color: #808080;">            //Embed标签是用于将一些外部资源加入到Flex中,随Flex的编译成SWFæ–‡äšgåQ?br /> </span><span style="color: #008080;"> 8</span> <span style="color: #808080;">            //˜q™é‡Œæ˜¯åР入䏀张PNG囄¡‰‡åQŒå³æ˜¯åšå¥½çš„Skin囄¡‰‡<br /> </span><span style="color: #008080;"> 9</span> <span style="color: #808080;">            [Embed(source="images/buttonskin.png",<br /> </span><span style="color: #008080;">10</span> <span style="color: #808080;">                   scaleGridTop="26",<br /> </span><span style="color: #008080;">11</span> <span style="color: #808080;">                   scaleGridBottom="64",<br /> </span><span style="color: #008080;">12</span> <span style="color: #808080;">                   scaleGridLeft="30",<br /> </span><span style="color: #008080;">13</span> <span style="color: #808080;">                   scaleGridRight="106")]<br /> </span><span style="color: #008080;">14</span> <span style="color: #808080;">            //上面的Embed标签下面要紧跟着˜q™ä¸ªClassåQŒæ„æ€å°±æ˜¯å°†ä¸Šé¢çš„资源加入到Flex<br /> </span><span style="color: #008080;">15</span> <span style="color: #808080;">            //åŽå˜ä¸ø™¿™ä¸ªClass的内容,卌™°ƒç”¨è¿™ä¸ªClassæ—Óž¼Œž®±æ˜¯è°ƒç”¨é‚£äº›èµ„源<br /> </span><span style="color: #008080;">16</span> <span style="color: #808080;">            private var MyBtnSkin:Class;<br /> </span><span style="color: #008080;">17</span> <span style="color: #808080;">           <br /> </span><span style="color: #008080;">18</span> <span style="color: #808080;">            //在程序创建完成时ä¼?x¨¬)调用该函数åQŒåœ¨å‡½æ•°é‡Œé¢è®„¡½®Button的样式(StyleåQ?br /> </span><span style="color: #008080;">19</span> <span style="color: #808080;">            //˜q™é‡Œž®±æ˜¯è®„¡½®æŒ‰é’®çš„up,over,down三个鼠标状态时的皮肤,ž®±æ˜¯ä¸Šé¢åŠ å…¥çš„å›¾ç‰‡èµ„æº?br /> </span><span style="color: #008080;">20</span> <span style="color: #808080;">            private function init():void{<br /> </span><span style="color: #008080;">21</span> <span style="color: #808080;">                btn.setStyle("upSkin",MyBtnSkin);<br /> </span><span style="color: #008080;">22</span> <span style="color: #808080;">                btn.setStyle("overSkin",MyBtnSkin);<br /> </span><span style="color: #008080;">23</span> <span style="color: #808080;">                btn.setStyle("downSkin",MyBtnSkin);<br /> </span><span style="color: #008080;">24</span> <span style="color: #808080;">            }<br /> </span><span style="color: #008080;">25</span> <span style="color: #808080;">        </span><span style="color: #0000ff;">]]></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">26</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Script</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">27</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Button </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="btn"</span><span style="color: #ff0000;"> label</span><span style="color: #0000ff;">="Hello World"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="190"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="90"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">28</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Application</span><span style="color: #0000ff;">></span></div> <br /> <br />       æ€Žä¹ˆæ øP¼Ÿå¾ˆç®€å•吧åQŸå¤§å®‰™œ€è¦æ³¨æ„ä¸€ä¸‹çš„æ˜¯åœ¨Embed标签里,我定义了一些scaleGridTop之类的属性,˜q™æ˜¯è·Ÿçš®è‚¤çš„¾~©æ”¾æœ‰å…³çš„,如果不定义那些属性的话,那么囄¡‰‡æ˜¯å¤šå¤§çš„åQŒå°±æŒ‰å¤šå¤§æ¥˜q›è¡Œ¾~©æ”¾åQŒå½“你的按钮很大æ—Óž¼Œé‚£äº›çš®è‚¤å›„¡‰‡ž®×ƒ¼š(x¨¬)被拉大,出现马赛克与变åÅž½{‰ï¼Œ˜q™éƒ½æ˜¯ä¸å¥½çœ‹çš„。加入了9格羃放模式后åQŒå½“你羃放按钮时åQŒä¹(ji¨¦)个格中的四个角的区域不会(x¨¬)被羃放,保持原样åQŒä¸­é—´æ ¼ä¼?x¨¬)宽高同时羃放,中间上下æ ég¼š(x¨¬)仅是宽度¾~©æ”¾åQŒä¸­é—´å·¦åÏx ¼åªä¼š(x¨¬)高度¾~©æ”¾åQŒè¿™æ øP¼Œé‚£ä¸ªçš®è‚¤çš„边框无è®ÞZ½ å¦‚何¾~©æ”¾åQŒéƒ½æ˜¯åŽŸæ¥çš„å¤§å°æ¯”ä¾‹åQŒè€Œä¸ä¼?x¨¬)将整个囄¡‰‡ä¸€èµäh‹‰ç”Ÿë€?br />       现在的按钮太单调了,只有一个外观,现在大家可以再加多两个不同颜色或者其它图案的囄¡‰‡ä½œäØ“(f¨´)不同状态的皮肤ž®±å¯ä»¥äº†åQŒæ¯”如将overSkinæ”ÒŽ(gu¨©)ˆ¾U¢è‰²è¾ÒŽ(gu¨©)¡†çš„图片等ã€?br /> <br />       其实大家有没有发玎ͼŒä¸Šé¢ä»£ç çš„写法感觉比较麻烦的。我们可以用CSS来实玎ͼŒæˆ‘们可以直接点,ž®†çš®è‚¤ç›´æŽ¥å†™åœ¨Button上,如下åQ?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Button </span><span style="color: #ff0000;">label</span><span style="color: #0000ff;">="Hello World"</span><span style="color: #ff0000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #ff0000;">        upSkin</span><span style="color: #0000ff;">="@Embed('images/buttonskin.png')"</span><span style="color: #ff0000;"><br /> </span><span style="color: #008080;">3</span> <span style="color: #ff0000;">        overSkin</span><span style="color: #0000ff;">="@Embed('images/buttonskin.png')"</span><span style="color: #ff0000;"><br /> </span><span style="color: #008080;">4</span> <span style="color: #ff0000;">        downSkin</span><span style="color: #0000ff;">="@Embed('images/buttonskin.png')"</span><span style="color: #ff0000;"><br /> </span><span style="color: #008080;">5</span> <span style="color: #ff0000;">    </span><span style="color: #0000ff;">/></span></div> <br /> ˜q™æ ·ä¹Ÿæ˜¯åŒæ ·çš„æ•ˆæžœã€‚省事好多了吧。或者我们用CSS来写åQ?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><?</span><span style="color: #ff00ff;">xml version="1.0" encoding="utf-8"</span><span style="color: #0000ff;">?></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Application </span><span style="color: #ff0000;">xmlns:mx</span><span style="color: #0000ff;">="http://www.adobe.com/2006/mxml"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="257"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="182"</span><span style="color: #ff0000;"> backgroundGradientColors</span><span style="color: #0000ff;">="[#ffffff, #ffffff]"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">        Button{<br /> </span><span style="color: #008080;"> 5</span> <span style="color: #000000;">            up-skin:Embed(source="images/buttonskin.png",<br /> </span><span style="color: #008080;"> 6</span> <span style="color: #000000;">                          scaleGridTop="26",<br /> </span><span style="color: #008080;"> 7</span> <span style="color: #000000;">                          scaleGridBottom="64",<br /> </span><span style="color: #008080;"> 8</span> <span style="color: #000000;">                          scaleGridLeft="30",<br /> </span><span style="color: #008080;"> 9</span> <span style="color: #000000;">                          scaleGridRight="106");<br /> </span><span style="color: #008080;">10</span> <span style="color: #000000;">            over-skin:Embed(source="images/buttonskin.png",<br /> </span><span style="color: #008080;">11</span> <span style="color: #000000;">                          scaleGridTop="26",<br /> </span><span style="color: #008080;">12</span> <span style="color: #000000;">                          scaleGridBottom="64",<br /> </span><span style="color: #008080;">13</span> <span style="color: #000000;">                          scaleGridLeft="30",<br /> </span><span style="color: #008080;">14</span> <span style="color: #000000;">                          scaleGridRight="106");<br /> </span><span style="color: #008080;">15</span> <span style="color: #000000;">        }<br /> </span><span style="color: #008080;">16</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">17</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Button </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="btn"</span><span style="color: #ff0000;"> label</span><span style="color: #0000ff;">="Hello World"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="190"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="90"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">18</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Application</span><span style="color: #0000ff;">></span></div> <br /> 如果觉得加上CSS代码ä¼?x¨¬)ä×o(h¨´)½E‹åºä»£ç æ··äؕ的话åQŒå°±ž®†CSS代码写在CSSæ–‡äšg里去åQŒåœ¨½E‹åºé‡Œå¯¼å…¥CSSæ–‡äšgž®±å¯ä»¥äº†ã€?至于CSS的用法,我就不说了,反正Flex里的CSS方式与Html里的用法用样。只是要注意一下CSS里面讄¡½®çš„属性的名字ž®±å¯ä»¥äº†)<br /> <br /> <mx:Style source="styles/styles.css" /><br /> <br />       但有人可能会(x¨¬)问,˜q™æ ·åšçš„话,如果一个程序有很多不同的UIåQŒåƈ有不同的皮肤åQŒé‚£ä¸å°±æ˜¯è¦ç”Ÿæˆå¾ˆå¤šçš„图片?˜q™ä¸ªé—®å¾—好,¼‹®å®žåQŒå¦‚果以˜q™ç§æ–¹å¼çš„话åQŒå°±åƒä¸€ä¸ªç½‘站里的imagesæ–‡äšgå¤¹ä¸€æ øP¼Œæœ‰å¾ˆå¤šçš„ž®å›¾ç‰‡ï¼Œ˜q™æ ·å¤ªéº»çƒ¦äº†åQŒè€Œä¸”也不好维护。既然有˜q™æ ·çš„问题,我们ž®±å°†çš®è‚¤òq²è„†åšæˆåœ¨ä¸€ä¸ªæ–‡ä»‰™‡Œé¢ç®—了,方便快捷åQŒç»´æŠ¤åˆæ–¹ä¾¿åQŒè€Œè¿™ä¸ªæ–‡ä»Óž¼Œž®±æ˜¯SWFæ–‡äšg。我们如果有Flash基础的话åQŒåŸºæœ¬å¯¹MC都不ä¼?x¨¬)陌生,对,˜q™æ¬¡æˆ‘们的主角就是SWF里面的MCåQŒæˆ‘们可以将一个皮肤做成一个MCåQŒåœ¨Flash里将所有用到的皮肤都做在一个SWF里,一个图片就像是一个MCåQŒä¹‹åŽå‘布该SWFæ–‡äšgåQŒåœ¨Flex里加载这个SWFæ–‡äšgåQŒå†åœ¨éœ€è¦çš„皮肤里调用SWF里面相应皮肤的MC的名字就可以了。如下:(x¨¬)<br /> ˜q™ä¸ªæ˜¯åœ¨Flash里做好的皮肤SWFæ–‡äšgåQŒé‡Œé¢æœ‰ä¸‰ä¸ªä¸åŒé¢œè‰²çš„皮肤模å¼?br /> [swf]attachments/month_0805/p2008518233635.swf[/swf]<br /> ˜q™é‡Œè¦æ³¨æ„ä¸€ä¸‹ï¼Œåœ¨Flash里做˜q™äº›çš®è‚¤æ—Óž¼Œè¦å°†MC加上链接åQŒé“¾æŽ¥çš„名称åQŒå°±æ˜¯ä½ åœ¨Flex里调用该皮肤的名¿UŽÍ¼Œå›„¡‰‡å¦‚下åQ?br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/cph8066/u2008518233751.jpg" width="231" height="249" /><br /> <br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/cph8066/a200851823386.jpg" width="443" height="186" /><br /> <br /> 在做好皮肤的SWF后,让我们回到Flex 里面åQŒåœ¨Flex里写如下代码åQ?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><?</span><span style="color: #ff00ff;">xml version="1.0" encoding="utf-8"</span><span style="color: #0000ff;">?></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Application </span><span style="color: #ff0000;">xmlns:mx</span><span style="color: #0000ff;">="http://www.adobe.com/2006/mxml"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="257"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="182"</span><span style="color: #ff0000;"> backgroundGradientColors</span><span style="color: #0000ff;">="[#ffffff, #ffffff]"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">        Button{<br /> </span><span style="color: #008080;"> 5</span> <span style="color: #000000;">            up-skin:Embed(source="images/btnSkin.swf",symbol="btnUP");<br /> </span><span style="color: #008080;"> 6</span> <span style="color: #000000;">            over-skin:Embed(source="images/btnSkin.swf",symbol="btnOVER");<br /> </span><span style="color: #008080;"> 7</span> <span style="color: #000000;">            down-skin:Embed(source="images/btnSkin.swf",symbol="btnDOWN");<br /> </span><span style="color: #008080;"> 8</span> <span style="color: #000000;">        }<br /> </span><span style="color: #008080;"> 9</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">10</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Button </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="btn"</span><span style="color: #ff0000;"> label</span><span style="color: #0000ff;">="Hello World"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="100"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="60"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">11</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Application</span><span style="color: #0000ff;">></span></div> <br /> <br /> 注意一下的ž®±æ˜¯åQŒåœ¨Embed标签里,要导入的资源文äšg不是PNG了,而是一个SWFåQŒå°±æ˜¯æˆ‘们刚才在Flash里做好的皮肤文äšgåQŒæ³¨æ„çœ‹åQŒåŽé¢è¿˜è·Ÿç€ä¸€ä¸ªsymbol属性,该属性就是指明你要调用哪一个MCåQŒå°±æ˜¯SWF里面的MCåQŒè®°å¾—,都要为每个MC做链接,òq‰™“¾æŽ¥åå­—要与symbol里的名字致。至此,我们的皮肤就完成了。一个SWFæ–‡äšgž®±æžæŽ‚。这里是最¾lˆæ•ˆæžœï¼š(x¨¬)<br /> <object xcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" height="200" width="200" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" > <param name="Movie" value="/images/blogjava_net/cph8066/a2008518234223.swf" /> <param name="Quality" value="high"/> <param name="wmode" value="transparent"/><embed src="http://www.aygfsteel.com/images/blogjava_net/cph8066/a2008518234223.swf" width="200" height="200" quality="high" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" ></embed> </object><br /> <br /> 好了åQŒè¿™½‹‡æ•™½E‹å°±åˆîCº›¾l“束åQŒä¸Šé¢ä»‹¾lçš„都是Skin的比较简单快æïL(f¨¥ng)š„用法åQŒä¸˜q‡çµ‹zÀL€§å°±ä¸æ˜¯å¾ˆå¤§åQŒä½†ä¹Ÿæ˜¯çš®è‚¤æŠ€æœ¯çš„æœ€åŸºç¡€çš„,大家也可以再扩展一下其它用法等½{‰çš„åQŒåœ¨ä¸‹ç¯‡æ–‡ç« åQŒä¹Ÿž®±æ˜¯Flex皮肤¾pÕdˆ—文章的(二)中,我会(x¨¬)介绍一下用½E‹åºä»£ç æ¥ç¼–写皮肤,˜q™å°±æ˜¯ä¸ä¾èµ–于外部的资源文äšgåQŒç›´æŽ¥ç”¨AS3代码用Graphics来自已画皮肤。下½‹‡å°†ä¼?x¨¬)用到AS3çš„Draw APIæ–šw¢çš„知识,请大家做好准备ã€?br /> <br /> 在此再次向我们的灑֌ºæˆ˜å£«ä»¬ç»™ä¸Žå´‡é«˜çš„æ•¬æ„åQ?br /> <img src ="http://www.aygfsteel.com/cph8066/aggbug/218419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cph8066/" target="_blank">姜大å?/a> 2008-07-29 14:37 <a href="http://www.aygfsteel.com/cph8066/archive/2008/07/29/218419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写了一个Flash效果åQ?/title><link>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218417.html</link><dc:creator>姜大å?/dc:creator><author>姜大å?/author><pubDate>Tue, 29 Jul 2008 06:33:00 GMT</pubDate><guid>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218417.html</guid><wfw:comment>http://www.aygfsteel.com/cph8066/comments/218417.html</wfw:comment><comments>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cph8066/comments/commentRss/218417.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cph8066/services/trackbacks/218417.html</trackback:ping><description><![CDATA[     摘要:       好久没有发表文章了,˜q™å¤©å†™äº†ä¸€ä¸ªFlash的一个动画菜单的效果åQŒåœ¨ä¹‹å‰çœ‹åˆ°ä¸€ä¸ªç«™çš„一个菜单效果挺不错åQŒå°±è¯•着自已也用¾U¯AS3写一个出来试试。看了一下研½I¶äº†ä¸€ä¸ªç®—法,自已也写了个出来åQŒå†™å¾—比较粗¾p™ï¼Œæ‰€ä»¥è¿è¡Œæ—¶å¯èƒ½˜q˜ä¼š(x¨¬)有点ž®é—®é¢˜ï¼Œæœ‰ç©ºè¦å†ä¼˜åŒ–一下算法才行ã€? 有点åƒ?Apple 的菜单效果。原本是计划用图片的åQŒä¸˜q‡åŽ...  <a href='http://www.aygfsteel.com/cph8066/archive/2008/07/29/218417.html'>阅读全文</a><img src ="http://www.aygfsteel.com/cph8066/aggbug/218417.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cph8066/" target="_blank">姜大å?/a> 2008-07-29 14:33 <a href="http://www.aygfsteel.com/cph8066/archive/2008/07/29/218417.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自已做的一个Flex 3D效果åQ?/title><link>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218415.html</link><dc:creator>姜大å?/dc:creator><author>姜大å?/author><pubDate>Tue, 29 Jul 2008 06:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218415.html</guid><wfw:comment>http://www.aygfsteel.com/cph8066/comments/218415.html</wfw:comment><comments>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218415.html#Feedback</comments><slash:comments>133</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cph8066/comments/commentRss/218415.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cph8066/services/trackbacks/218415.html</trackback:ping><description><![CDATA[用PV3D做的一个Flex效果åQŒæœ‰æ—‰™—´ä¼?x¨¬)整理一下代码与文档贴出来!<br /> 以下是效果:(x¨¬)<br /> <object xcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" height="520" width="650" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" > <param name="Movie" value="/images/blogjava_net/cph8066/l2008124195022.swf" /> <param name="Quality" value="high"/> <param name="wmode" value="transparent"/><embed src="http://www.aygfsteel.com/images/blogjava_net/cph8066/l2008124195022.swf" width="650" height="520" quality="high" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" ></embed> </object> <img src ="http://www.aygfsteel.com/cph8066/aggbug/218415.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cph8066/" target="_blank">姜大å?/a> 2008-07-29 14:31 <a href="http://www.aygfsteel.com/cph8066/archive/2008/07/29/218415.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Flex的动ç”ÀL•ˆæžœä¸Žå˜æ¢åQï¼ˆä¸‰ï¼‰åQˆå®ŒåQ?/title><link>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218410.html</link><dc:creator>姜大å?/dc:creator><author>姜大å?/author><pubDate>Tue, 29 Jul 2008 06:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218410.html</guid><wfw:comment>http://www.aygfsteel.com/cph8066/comments/218410.html</wfw:comment><comments>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218410.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cph8066/comments/commentRss/218410.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cph8066/services/trackbacks/218410.html</trackback:ping><description><![CDATA[˜q™ç¯‡æ–‡ç« æ˜¯Flex动画效果变换的最后一¾~–了åQŒè¿™½‹‡å°†ä¼?x¨¬)讲˜q°Flex中的“变面”åQˆæˆ‘自已的理解)技术,åÏx˜¯TransitionsåQ?br /> <br /> 如果看过Flex SDK里面的自带的例子½E‹åºåQŒæœ‰ä¸€ä¸ªå«“Flex Store”的应用,在里面的手机列表中看某一个手机的详细æ—Óž¼Œž®±æ˜¯˜q™ç§æ•ˆæžœåQŒä¸å¤šè¯´åQŒè¿™½‹‡ä¼š(x¨¬)比较½Ž€å•,先看看效果:(x¨¬)<br /> <object xcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" height="500" width="600" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" > <param name="Movie" value="/images/blogjava_net/cph8066/5200812115394.swf" /> <param name="Quality" value="high"/> <param name="wmode" value="transparent"/><embed src="http://www.aygfsteel.com/images/blogjava_net/cph8066/5200812115394.swf" width="600" height="500" quality="high" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" ></embed> </object><br /> <br /> 看到了效果了吧,˜q™ç§çš„变换不隑֮žçŽŽÍ¼Œå†æ¥çœ‹çœ‹ä»£ç å†è§£æžï¼š(x¨¬)<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><?</span><span style="color: #ff00ff;">xml version="1.0" encoding="utf-8"</span><span style="color: #0000ff;">?></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Application </span><span style="color: #ff0000;">xmlns:mx</span><span style="color: #0000ff;">="http://www.adobe.com/2006/mxml"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="695"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="555"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 3</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:states</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 4</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:State </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="A"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 5</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="500"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 6</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="300"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 7</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 8</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 9</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">10</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="373"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">11</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">12</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">13</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">14</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="23"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">15</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">16</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">17</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">18</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="200"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">19</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:State</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">20</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:State </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="B"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">21</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">22</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">23</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">24</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">25</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">26</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">27</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="500"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">28</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="300"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">29</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">30</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="200"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">31</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">32</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="23"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">33</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="373"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">34</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">35</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:State</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">36</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:State </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="C"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">37</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">38</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">39</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">40</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">41</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">42</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">43</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="500"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">44</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="300"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">45</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">46</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="200"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">47</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">48</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="23"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">49</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="19"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">50</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="373"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">51</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">52</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:State</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">53</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:State </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="D"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">54</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">55</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">56</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">57</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">58</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">59</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="150"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">60</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="width"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="500"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">61</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="height"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="300"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">62</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowA}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">63</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="200"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">64</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowB}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">65</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="23"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">66</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowD}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="19"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">67</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="x"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="373"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">68</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:SetProperty </span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="{windowC}"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="y"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="333"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">69</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:State</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">70</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:states</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">71</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:transitions</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">72</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Transition </span><span style="color: #ff0000;">fromState</span><span style="color: #0000ff;">="*"</span><span style="color: #ff0000;"> toState</span><span style="color: #0000ff;">="*"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">73</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Parallel </span><span style="color: #ff0000;">targets</span><span style="color: #0000ff;">="{[windowA, windowB, windowC, windowD]}"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">74</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Move </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">75</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Resize </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">76</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Parallel</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">77</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Transition</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">78</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:transitions</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">79</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:TitleWindow </span><span style="color: #ff0000;">x</span><span style="color: #0000ff;">="23"</span><span style="color: #ff0000;"> y</span><span style="color: #0000ff;">="19"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="250"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #ff0000;"> title</span><span style="color: #0000ff;">="A"</span><span style="color: #ff0000;"> id</span><span style="color: #0000ff;">="windowA"</span><span style="color: #ff0000;"> click</span><span style="color: #0000ff;">="currentState='A'"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">80</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:TitleWindow </span><span style="color: #ff0000;">x</span><span style="color: #0000ff;">="309"</span><span style="color: #ff0000;"> y</span><span style="color: #0000ff;">="19"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="250"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #ff0000;"> title</span><span style="color: #0000ff;">="B"</span><span style="color: #ff0000;"> id</span><span style="color: #0000ff;">="windowB"</span><span style="color: #ff0000;"> click</span><span style="color: #0000ff;">="currentState='B'"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">81</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:TitleWindow </span><span style="color: #ff0000;">x</span><span style="color: #0000ff;">="23"</span><span style="color: #ff0000;"> y</span><span style="color: #0000ff;">="260"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="250"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #ff0000;"> title</span><span style="color: #0000ff;">="C"</span><span style="color: #ff0000;"> id</span><span style="color: #0000ff;">="windowC"</span><span style="color: #ff0000;"> click</span><span style="color: #0000ff;">="currentState='C'"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">82</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:TitleWindow </span><span style="color: #ff0000;">x</span><span style="color: #0000ff;">="309"</span><span style="color: #ff0000;"> y</span><span style="color: #0000ff;">="260"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="250"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #ff0000;"> title</span><span style="color: #0000ff;">="D"</span><span style="color: #ff0000;"> id</span><span style="color: #0000ff;">="windowD"</span><span style="color: #ff0000;"> click</span><span style="color: #0000ff;">="currentState='D'"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">83</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Application</span><span style="color: #0000ff;">></span></div> <br /> <br /> 代码ä¼?x¨¬)比较多åQŒæˆ‘们先看看<mx:states>标签åQŒå®ƒæ˜¯ä¸€ä¸ªé›†åˆï¼Œž®±æ˜¯ä½ çš„½E‹åºæœ‰å¤šž®‘个状态,什么是状态呢åQŸæˆ‘自已理解ž®±å³æ˜¯æœ‰å¤šå°‘ä¸?#8220;面谱”åQŒå³æ˜¯çŽ°åœ¨ç¨‹åºé‡Œé¢æœ‰å››ä¸ªæ˜„¡¤ºç•Œé¢çŠ¶æ€ï¼Œæ‰€ä»¥é‡Œé¢æœ‰å››ä¸ª<mx:State>标签åQŒæ¯ä¸?lt;mx:State>状态都需要有一个名字name属性,以区分是哪个界面状态,在每个状态里面都有很å¤?lt;mx:SetProperty>的标½{¾ï¼Œçœ‹è‹±æ–‡éƒ½çŸ¥é“了,该标½{„¡”¨äºŽè®¾¾|®è¿™ä¸ªçŠ¶æ€ä¸‹çš„æ‰€æœ‰ç•Œé¢å…ƒç´ çš„å±žæ€§ï¼ˆ¾l„äšg的属性)åQŒå› ä¸ºæ¯ä¸ªç•Œé¢çŠ¶æ€ä¸­å„ä¸ª¾l„äšg的大ž®å¸ƒå±€éƒ½ä¸åŒï¼Œæ‰€ä»¥åœ¨çŠ¶æ€æ ‡½{ùN‡Œž®Þp¦é¢„先讄¡½®å¥½è¯¥çŠ¶æ€ä¸‹çš„ç»„ä»¶çš„ä½ç½®ä¸Žå¤§ž®ï¼Œé‚£ä¸ªtarget="{windowC}"属性就是设¾|®ä½ è¦è®¾¾|®çš„哪个¾l„äšg的名字拉åQŒname="height"ž®±æ˜¯ä½ è¦è®„¡½®çš„属性value="333"ž®±æ˜¯ä½ è¦è®„¡½®è¯¥å±žæ€§çš„å€û|¼Œæˆ‘们¾l†å¿ƒçœ‹çœ‹çš„话åQŒå¯èƒ½ä¼š(x¨¬)发现åQŒæ¯ä¸ªçŠ¶æ€é‡Œé¢è®¾¾|®çš„属性,都是width,height,x,y˜q™å››ä¸ªå±žæ€§ï¼Œæˆ‘们看看上面的最¾lˆæ•ˆæžœå°±çŸ¥é“无论切换哪个状态,¾l„äšg间的变换来来åŽÕdŽ»éƒ½æ˜¯¿UÕdŠ¨ä½ç½®ä¸Žå¤§ž®æ”¹å˜ï¼Œž®±æ˜¯è¯´å½“你变换状态时åQŒéœ€è¦æ”¹åŠ¨å“ªäº›å±žæ€§çš„åQŒå°±ž®†å®ƒçš„ç›®æ ‡å€ÆD®¾¾|®åœ¨<mx:SetProperty>标签里。再看看下面çš?lt;mx:transitions>标签åQŒè¿™ä¸ªä¹Ÿæ˜¯ä¸ªé›†åˆåQŒé‡Œé¢æ”¾ç€ä¸åŒçš„变换方æ³?lt;mx:Transition>åQŒæˆ‘们来看看变换标签的代码:(x¨¬)<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Transition </span><span style="color: #ff0000;">fromState</span><span style="color: #0000ff;">="*"</span><span style="color: #ff0000;"> toState</span><span style="color: #0000ff;">="*"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Parallel </span><span style="color: #ff0000;">targets</span><span style="color: #0000ff;">="{[windowA, windowB, windowC, windowD]}"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">3</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Move </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">4</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Resize </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">5</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Parallel</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">6</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Transition</span><span style="color: #0000ff;">></span></div> <br /> formState与toState属性是要设¾|®è¯¥çŠ¶æ€å˜æ¢æ˜¯æ€Žæ ·è§¦å‘çš„ï¼Œé‡Œé¢è¦å¡«ä¸ŠçŠ¶æ€çš„åå­—åQ?lt;mx:State name="C">   Cž®±æ˜¯çŠ¶æ€çš„åå­—åQŒå³æ˜¯å¦‚果你formState="A",toState="C"的话åQŒåªæœ‰ä»ŽA状态切换到C状态时åQŒæ‰ä¼?x¨¬)äñ”生以上的变换动画效果åQŒå¦‚果不附合该规则如A切换到B状态的话,则只ä¼?x¨¬)按状态的属性设¾|®å€¼æ¥ç›´æŽ¥ç”Ÿæˆè§†å›¾åQŒè€Œæ²¡æœ‰åЍç”ÀL¸å˜æ•ˆæžœäº†ã€‚如果填ä¸?#8220;*”的话åQŒå°±æ˜¯æ— è®ºæ˜¯å“ªä¸ªçŠ¶æ€åˆ‡æ¢åˆ°å“ªä¸ªåQŒéƒ½ä¼?x¨¬)运行动ç”ÀL•ˆæžœï¼Œè‡³äºŽå˜æ¢æœŸé—´ç”¨åˆ°å“ªç§åŠ¨ç”»æ•ˆæžœæ¥è¿›è¡Œæ¸å˜ï¼Œž®±åœ¨å®ƒçš„下çñ”标签里定义了åQŒè¿™é‡Œå®ƒç”¨åˆ°äº?lt;mx:Parallel>òq¶åˆ—播放¿UÕdŠ¨ä¸Žé‡æ•´å¤§ž®çš„动画效果åQŒä¹‹å‰æ–‡ç« è®²˜q‡ï¼Œ˜q™é‡Œä¸å¤šè¯´äº†ã€‚基本上åQŒä¸€ä¸ªå˜æ¢å°±åšå¥½äº†ï¼Œä½†æˆ‘们还需要触发它åQŒä¹Ÿž®±æ˜¯åŽÀL”¹å˜ç¨‹åºå½“前的昄¡¤ºçŠ¶æ€ï¼š(x¨¬)click="currentState='A'" 在每个组件的click事äšg里,改变½E‹åºçš„currentStateå€û|¼Œž®±æ˜¯æ”¹å˜½E‹åºçš„当前显½CºçŠ¶æ€ï¼ä¹‹åŽåŠ¨ç”»æ•ˆæžœž®×ƒ¼š(x¨¬)触发了!<br /> <br /> ˜qŸç‚¹æœ‰æ—¶é—ß_(d¨¢)¼Œå†åšä¸€ä¸?D的动ç”ÀL•ˆæžœï¼Œž®†ä¼š(x¨¬)用到PV3D的框æžÓž¼Œå†æ•´ç†ä¸€ä¸ªä»£ç ä¸Žæ•™ç¨‹ä¹Ÿè„“(chu¨¤ng)出来跟大家分享吧åQŒä¸˜q‡ä¸çŸ¥é“大家对PV3D˜q™ä¸ªä¸œä¸œç†Ÿæ?zh¨¨n)‰ä¸ï¼Œä¸ç†Ÿæ?zh¨¨n)‰çš„话,可能看得痛苦点,至于PV3Dæ–šw¢çš„æ•™½E‹ï¼Œæˆ‘也看看抽点旉™—´å†™å†™å§ï¼å…ˆè°¢˜q‡å¤§å®¶çš„æ”¯æŒåQ?br /> <img src ="http://www.aygfsteel.com/cph8066/aggbug/218410.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cph8066/" target="_blank">姜大å?/a> 2008-07-29 14:28 <a href="http://www.aygfsteel.com/cph8066/archive/2008/07/29/218410.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Flex的动ç”ÀL•ˆæžœä¸Žå˜æ¢åQï¼ˆäºŒï¼‰http://www.aygfsteel.com/cph8066/archive/2008/07/29/218407.html姜大å?/dc:creator>姜大å?/author>Tue, 29 Jul 2008 06:24:00 GMThttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218407.htmlhttp://www.aygfsteel.com/cph8066/comments/218407.htmlhttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218407.html#Feedback7http://www.aygfsteel.com/cph8066/comments/commentRss/218407.htmlhttp://www.aygfsteel.com/cph8066/services/trackbacks/218407.html
在这里我先介¾lä¸€ä¸‹Flex里面的动ç”ÀL•ˆæžœæœºåˆÓž¼Œåœ¨Flex里面要ä‹É用动ç”ÀL•ˆæžœçš„话,先要创徏一个效果标½{¾ï¼Œä¹‹åŽåœ¨ç»„仉™‡ŒåQˆå¦‚TextInputåQ‰å†™ä¸Šæ•ˆæžœè§¦å‘器åQŒä½†å¯èƒ½ä¼?x¨¬)有人问åQŒå¦‚果程序里我就只定义一个移动效æž?br /> <mx:Move>åQŒä¹‹åŽæˆ‘½E‹åºé‡Œé¢æœ?个组ä»Óž¼Œæ¯ä¸ª¾l„äšg的动ç”ÀL•ˆæžœéƒ½æŒ‡å‘˜q™ä¸ªMove效果åQŒé‚£ä¹ˆå®ƒæ˜¯ä¸æ˜¯ç»„件一˜qè¡Œäº†æ•ˆæžœåŽåQŒç»„件二再触发效果,是不是组件一的效果会(x¨¬)消失才会(x¨¬)到组件二里播放?其它不是åQŒè™½ç„¶æˆ‘们只定义了一个MoveåQŒä½†æˆ‘们定义的只是Move效果的工厂,˜q™é‡Œž®Þq”¨åˆîCº†è®¾è®¡æ¨¡å¼ä¸­çš„“工厂æ–ÒŽ(gu¨©)³•”模式åQŒå…¶å®?个组仉™ƒ½å¯ä»¥åŒæ—¶˜qè¡Œæ•ˆæžœåQŒè€?个效果都是不同的一个实例,彼此独立。所谓工厂方法模式,ž®±å¥½æ¯”是一家衣服制造工厂,Aèµ°è¿›˜q™å®¶å·¥åŽ‚è¯´è¦ä¸€ä»¶è¡£æœï¼Œå·¥åŽ‚ž®±åˆ¶ä½œä¸€ä»¶åˆé€‚Açš„Size的衣服,B˜q›åŽ»åQŒå°±ä¼?x¨¬)生产合适B的衣服,但A与B的衣服都是一æ ïL(f¨¥ng)š„。就好等于面向对象中的类与对象的关系一栗÷€‚(我可能说多了-_-åQ?br /> 效果˜qè¡Œçš„æ—¶å€™ï¼Œå…¶å®ž˜qè¡Œçš„不是Move˜q™ä¸ªå¯¹è±¡åQŒè€Œæ˜¯MoveInstance˜q™ä¸ªå¯¹è±¡åQŒMove只是工厂åQŒæ—¢ç„¶ä¸€ä¸ªåЍç”ÀL•ˆæžœå°±ä¸»è¦åˆ†è¿™ä¸¤å¤§éƒ¨ä†¾åQŒæˆ‘们就先徏造一个工厂吧åQ?br />
在Flex里面所有的效果的工厂都是ç‘ô承自 mx.effects.Effect ˜q™ä¸ª¾c»ï¼Œæˆ‘们也不能搞ç‰ÒŽ(gu¨©)®ŠåQŒæˆ‘们自定义的效果也要ç‘ô扉K‚£ä¸ªç±»åQŒå…ˆçœ‹ä»¥ä¸‹æ•´ä¸ªå·¥åŽ‚ç±»çš„ä»£ç ï¼š(x¨¬)
 1 package com.jiangzone.flex.effects {
 2     import mx.effects.Effect;
 3     import mx.effects.EffectInstance;
 4    
 5     public class MyEffect extends Effect {
 6         private var _color:Number = 0xFF0000;
 7                
 8                 public function set color(value:Number):void {
 9                          _color = value;
10                 }
11 
12         public function MyEffect(newTarget:Object = null) {
13             super(newTarget);
14             instanceClass = MyEffectInstance;
15         }
16        
17         override public function getAffectedProperties( ):Array {
18             return [];
19         }
20        
21         override protected function initInstance(instance:EffectInstance):void {
22             super.initInstance(instance);
23                         MyEffectInstance(instance).color = _color;
24         }
25     }
26 }


大家看看上面的代码,其中先看构造函敎ͼŒæž„é€ å‡½æ•°è¦æŽ¥æ”¶ä¸€ä¸ªé»˜è®¤äØ“(f¨´)½Iºçš„Object对象
public function MyEffect(newTarget:Object = null)
之后在该构造函数里面调用父¾cÈš„æž„造函敎ͼŒòq¶ä¸”ž®†instanceClass˜q™ä¸ªå±žæ€§è®¾¾|®äØ“(f¨´)你的该效果的实例¾c»ï¼Œå› äØ“(f¨´)˜q™ä¸ª¾cÀL˜¯å·¥åŽ‚¾c»ï¼Œæ‰€ä»¥è¦çŸ¥é“你这个工厂生产什么äñ”品,即上面说çš?#8220;衣服”åQŒæ‰€ä»¥è¿™é‡Œæˆ‘ä»¬å°†å…¶å‘½åäØ“(f¨´)MyEffectInstanceåQŒæ³¨æ„ï¼š(x¨¬)在Flex中的所有效果实例类都是在工厂类后面加InstanceåQŒä¹Ÿä¸æ˜¯ä¸€å®šï¼Œåªæ˜¯è§„范而已。还有注意,下面一ä¼?x¨¬)定义的实例¾cȝš„¾cÕdä¸€å®šè¦è·Ÿè¿™é‡Œçš„一致ã€?br /> 大家˜q˜ä¼š(x¨¬)看到åQŒä¸Šé¢çš„代码中,复写åQˆoverrideåQ‰äº†äºŒä¸ªæ–ÒŽ(gu¨©)³•åQšgetAffectedProperties( )与initInstance(instance:EffectInstance)
˜q™ä¸¤ä¸ªæ–¹æ³•都是要复写的,先说说getAffectedProperties( )˜q™ä¸ªæ–ÒŽ(gu¨©)³•åQŒè¿™ä¸ªæ–¹æ³•是获取被改变的属性å€û|¼Œæ€Žä¹ˆè¯´å‘¢åQŒæ¯”如说åQŒä½ åšçš„动画效果如果要用到组件对象的一些属性的话,ž®Þp¦˜q”回˜q™äº›å±žæ€§çš„名字åQŒå¦‚åQšä½ çš„æ•ˆæžœæ˜¯å¯¹ç»„件做旋è{的话åQŒåˆ™åQ?br />
1 override public function getAffectedProperties( ):Array {
2     return ["rotation"];
3 }

反正你做的效果需要对¾l„äšg修改什么属性的话,都在˜q™ä¸ªæ–ÒŽ(gu¨©)³•里返回名字,修改多个属性的话就往数组里加ž®±æ˜¯äº†ã€?br /> 后面ž®±æ˜¯˜q™ä¸ªæ–ÒŽ(gu¨©)³•了initInstanceåQŒè¯¥æ–ÒŽ(gu¨©)³•接收一个instance:EffectInstance参数åQŒä¹Ÿž®±æ˜¯æ•ˆæžœå®žä¾‹¾cÕd•¦åQŒå› ä¸ºæ¯ä¸ªæ•ˆæžœå®žä¾‹ç±»éƒ½è¦¾l§æ‰¿EffectInstance¾c»ï¼Œæ‰€ä»¥è¿™ä¸ªæ–¹æ³•里的参数写的是父类åQŒåœ¨é‡Œé¢è¦åšå…¶å®ƒçš„话åQŒéœ€è¦å°† instance 转换ä¸ÞZ½ ç›¸åº”的效果类。在˜q™ä¸ªæ–ÒŽ(gu¨©)³•里面åQŒä¹Ÿæ˜¯è¦è°ƒç”¨çˆ¶ç±»çš„同名方法:(x¨¬)super.initInstance(instance);
基本上,一个工厂类ž®±å†™å¥½äº†åQŒä½†˜q™æ ·åªæ˜¯æœ€½Ž€å•的写法åQŒè¯•æƒÏxƒ³åQŒæ¯ä¸ªäh½I¿è¡£æœçš„Size不同åQŒå–œ‹Æ¢çš„颜色也不同,所以,是不是可以由用户来定义他们想要的效果的颜色等属性呢åQŸå½“ç„Óž¼Œä½ å¯¹è¡£æœæœ‰ä»€ä¹ˆè¦æ±‚,都是向工厂提出的åQŒæ²¡æœ‰ähä¼?x¨¬)对衣服说吧åQŸæ‰€ä»¥ï¼Œ˜q™äº›å¯è®¾¾|®çš„属性也是定义在工厂¾c»é‡Œé¢ï¼Œæ‰€ä»¥ä¸‹é¢ï¼Œæˆ‘们䏸™¯¥è¡£æœå¯å®šåˆ‰™¢œè‰²äØ“(f¨´)例,在工厂类里面加入如下代码åQ?br />
1 private var _color:Number = 0xFF0000;
2 public function set color(value:Number):void {
3         _color = value;
4 }

你想˜qè¡Œæ—¶çš„æ•ˆæžœå¯ä»¥è®„¡½®ä¸åŒçš„颜色的话,ž®±å¯ä»¥ç›´æŽ¥è®¾¾|®MyEffectçš„color属性,之后ž®†è¿™ä¸ªå±žæ€§ä¼ ¾l™æ•ˆæžœå®žä¾‹ç±»åQ?br />
1 override protected function initInstance(instance:EffectInstance):void {
2     super.initInstance(instance);
3         MyEffectInstance(instance).color = _color;
4 }

˜q™äº›å¯ÒŽ(gu¨©)•ˆæžœå®žä¾‹ç±»çš„设¾|®ï¼Œéƒ½æ˜¯è¦å®šåœ¨initInstanceæ–ÒŽ(gu¨©)³•里了åQŒä½ æƒ›_¯¹˜qè¡Œæ—¶çš„æ•ˆæžœè®„¡½®ä»€ä¹ˆå±žæ€§çš„话,都要先告诉工厂类åQŒä¹‹åŽå·¥åŽ‚ç±»åœ¨è¿™ä¸ªæ–¹æ³•é‡Œé¢è{嫁给实例¾c»ï¼Œ˜q™æ ·åQŒåŒä¸€ä¸ªæ•ˆæžœï¼Œå¯ä»¥˜qè¡Œä¸åŒçš„颜艌Ӏ‚但前提是你后面要写的实例类要有color˜q™ä¸ªå±žæ€§ã€?br /> 现在已做好了工厂¾cÖMº†åQŒä¸‹é¢è¦åšæ•ˆæžœå®žä¾‹ç±»äº†ï¼Œå…ˆè„“(chu¨¤ng)出完整代码:(x¨¬)
 1 package com.jiangzone.flex.effects {
 2     import mx.effects.EffectInstance;
 3     import flash.display.Shape;
 4     import flash.events.Event;
 5    
 6     public class MyEffectInstance extends EffectInstance {
 7                
 8         private var _color:Number;
 9         private var shape:Shape;
10        
11         public function set color(value:Number):void {
12             _color = value;
13         }
14        
15         public function MyEffectInstance(newTarget:Object) {
16             super(newTarget);
17         }
18        
19         override public function play( ):void {
20             super.play( );
21             drawShape();
22         }
23        
24         private function drawShape():void{
25             shape = new Shape();
26             shape.graphics.beginFill(_color);
27             shape.graphics.drawRect(target.width * -0.5,target.height * -0.5,target.width,target.height);
28             shape.graphics.endFill();
29             shape.x = target.x + target.width * 0.5;
30             shape.y = target.y + target.height * 0.5;
31             target.parent.rawChildren.addChild(shape);
32             target.addEventListener(Event.ENTER_FRAME,onEnterFrame);
33         }
34        
35         private function onEnterFrame(e:Event):void{
36             shape.scaleX += 0.1;
37             shape.scaleY += 0.1;
38             shape.alpha -= 0.05;
39             if(shape.alpha <= 0){
40                 target.parent.rawChildren.removeChild(shape);
41                 target.removeEventListener(Event.ENTER_FRAME,onEnterFrame);
42             }
43         }
44     }
45 }


我们看到åQŒæ¯ä¸€ä¸ªåЍç”ÀL•ˆæžœå®žä¾‹ç±»åQŒéƒ½è¦ç‘ô承自EffectInstance˜q™ä¸ª¾c»ï¼Œæž„造函æ•îC¹Ÿæ˜¯éœ€è¦æŽ¥æ”¶ä¸€ä¸ªObjectåQŒè¿™ä¸ªObject其实ž®±æ˜¯ä½ è¦åº”用到的¾l„äšg对象åQŒè¿™ä¸ªä¼š(x¨¬)是系¾lŸè‡ªåŠ¨ä¼ é€’çš„åQŒæŽ¥æ”¶äº†Object后还要用该Object 调用父类的构造函敎ͼš(x¨¬)super(newTarget);
之后˜q˜æœ‰ä¸€ä»¶å¿…做的事,ž®±æ˜¯é‡å†™play()˜q™ä¸ªæ–ÒŽ(gu¨©)³•åQšoverride public function play( ):void
是不是对play()很熟æ‚(zh¨¨n)‰ï¼Ÿå› äØ“(f¨´)½W¬ä¸€½‹‡æ–‡ç« ä¸­åQŒå°±ç”¨åˆ°˜q™ä¸ªæ–ÒŽ(gu¨©)³•来发动效果的播放的,所以,你需要做的动ç”ȝ¼–½E‹éƒ½æ˜¯åœ¨˜q™ä¸ªæ–ÒŽ(gu¨©)³•里。但˜q˜æ˜¯è¦å…ˆè°ƒç”¨çˆ¶ç±»çš„同名方法,super.play();之后的,ž®±æ˜¯ä½ æƒ³æ€Žä¹ˆç”Õd°±æ€Žä¹ˆç”Õd•¦ã€‚我ž®†ç”»ä¸€ä¸ªä¸Žè¦åº”用效果的¾l„äšg一样大ž®çš„矩型åQŒä¹‹åŽè¯¥çŸ©åÅžä¼?x¨¬)æ”¾å¤§åÆˆé€æ˜ŽåQŒæ•ˆæžœéƒ½å†™åœ¨drawShape()æ–ÒŽ(gu¨©)³•里了。看到这个方法里面的代码åQŒæ˜¯ä¸æ˜¯è·ŸFlash里的一样了åQ?br /> ˜q™é‡Œå†è„“(chu¨¤ng)上MXML代码åQ?br />
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <mx:Application layout="absolute" xmlns:mx="http://www.adobe.com/2006/mxml"
 3                                                         xmlns:pf="com.jiangzone.flex.effects.*">
 4         <pf:MyEffect id="myEffect" color="0xFFFFFF" />
 5         <mx:VBox x="100" y="43">
 6                 <mx:TextInput focusInEffect="{myEffect}" />
 7                 <mx:TextInput focusInEffect="{myEffect}" />
 8                 <mx:TextInput focusInEffect="{myEffect}" />
 9                 <mx:TextInput focusInEffect="{myEffect}" />
10         </mx:VBox>
11 </mx:Application>

˜q™é‡Œå…ˆçœ‹çœ‹æœ€¾lˆæ•ˆæžœï¼š(x¨¬)


在这里,我用了ENTER_FRAME的写法,但是如果不用ENTER_FRAME方式制作动画的话åQŒè¿˜æœ‰å¦å¤–一¿Uæ–¹æ³•çš„åQŒé‚£ž®±æ˜¯Tween了,Tween是以“æ—‰™—´”为准åQŒè€ŒENTER_FRAME是以“å¸?#8221;为准åQŒå…¶å®žåˆ°˜q™é‡ŒåQŒä¸€ä¸ªåŸºæœ¬çš„Flex自定义动ç”ÀL•ˆæžœå°±å®Œæˆäº†ï¼Œä½†æ‰©å±•一下的åQŒè¿˜å¯ä»¥ç”¨Tween来实玎ͼŒè€Œä¸”廸™®®ç”¨Tween来写动画效果åQŒæ˜“控制åQŒæ¸…淅一炏V€‚用Tween实现的话åQŒæ•ˆæžœä¸Žå†™æ³•都是差不多的åQŒè¦ç”¨Tweenž®Þp¦ž®†æ•ˆæžœå®žä¾‹ç±»¾l§æ‰¿è‡ªTweenEffectInstance˜q™ä¸ª¾c»ï¼Œòq‰™‡å†™å®ƒçš„onTweenUpdate( )æ–ÒŽ(gu¨©)³•与onTweenEnd( )æ–ÒŽ(gu¨©)³•åQŒè¿™¿UTween效果的写法,ž®†ä¼š(x¨¬)比ENTER_FRAMEçš„å†™æ³•æ–¹ä¾¿ï¼Œå› äØ“(f¨´)它根据的是时é—ß_(d¨¢)¼Œæ‰€ä»¥ï¼Œä½ å¯ä»¥æŒ‡å®šæ•ˆæžœæ’­æ”„¡š„æ—‰™—´åQŒåƈ且当播放完毕ä¼?x¨¬)自动调用onTweenEnd()æ–ÒŽ(gu¨©)³•åQŒä½ å¯ä»¥åœ¨è¯¥æ–ÒŽ(gu¨©)³•里写一些处理操作,如释放资源等½{?br /> ç”׃ºŽ¾~–幅关系åQŒå°±ä¸åœ¨˜q™é‡Œè¯¦ç»†ä»‹ç»TweenEffectInstence了,ž®Þq®€å•è„“(chu¨¤ng)凸™¯¥¾cȝš„写法与注释吧åQ?br />
 1 package com.jiangzone.flex.effects {
 2     import mx.effects.effectClasses.TweenEffectInstance;
 3     import flash.display.Shape;
 4     import flash.events.Event;
 5     import mx.effects.Tween;
 6    
 7     public class MyEffectInstance extends TweenEffectInstance {
 8                
 9         private var _color:Number;
10         private var shape:Shape;
11        
12         public function set color(value:Number):void {
13             _color = value;
14         }
15        
16         //构造函æ•?/span>
17         public function MyEffectInstance(newTarget:Object) {
18             super(newTarget);
19         }
20        
21         //同样的要重写play()æ–ÒŽ(gu¨©)³•与调用父¾cÕdŒåæ–¹æ³?/span>
22         override public function play( ):void {
23             super.play();
24             drawShape();        //先创å»ÞZ¸€ä¸ªçŸ©å½?/span>
25             /*注意åQšç”¨Tween效果写法的话åQŒå°±ä¸€å®šè¦åˆ›å¾ä¸€ä¸ªTween对象
26             ½W¬ä¸€ä¸ªå‚数是侦听器,即侦听Update与End的,˜q™ä¸¤ä¸ªæ–¹æ³•都在这个类里,
27             æ‰€ä»¥è¿™é‡Œå°±å†™this,½W¬äºŒå’Œç¬¬ä¸‰ä¸ªå‚数都是一个数¾l?br /> 28             ½W¬äºŒä¸ªå‚数是初始值数¾l„,½W¬ä¸‰ä¸ªæ˜¯¾l“果值数¾l„,都要一一对应åQŒç¬¬å››ä¸ªæ˜¯å˜åŒ–æ—¶é—?br /> 29             ˜q™é‡Œçš„æ˜¯[1,1]分别是初始时的scale比例与alphaåQŒ[3,0]ž®±æ˜¯æœ€¾lˆç»“果数å€?br /> 30             ¾pȝ»Ÿä¼?x¨¬)自动åœ?000毫秒里åã^分这些值来得到渐变效果
31             òq¶å°†æ¯ä¸€‹Æ¡æ•°å€¼çš„æ”¹å˜æ—¶è°ƒç”¨Updateæ–ÒŽ(gu¨©)³•åQŒç»“束后调用Endæ–ÒŽ(gu¨©)³•
32                     ä½ ä¹Ÿå¯ä»¥ž®†æ—¶é—´çš„参数发布到工厂类属性里åQŒå¯ä»¥æ–¹ä¾¿è®¾¾|®æ’­æ”¾æ—¶é—ß_(d¨¢)¼ŒåƒFlex自带效果一æ ?br /> 33                          */
34             new Tween(this,[1,1],[3,0],1000);
35         }
36        
37         override public function onTweenUpdate(value:Object):void{
38             //˜q™é‡Œž®†æ”¹å˜çš„æ•°å€¼åº”用到¾l„äšg对象中。注意:(x¨¬)也要与上面的数值数¾l„相对应ã€?/span>
39             shape.scaleX = Number(value[0]);
40             shape.scaleY = Number(value[0]);
41             shape.alpha = Number(value[1]);
42         }
43        
44         override public function onTweenEnd(value:Object):void {
45             //当播攑֮Œæ—¶ä¼š(x¨¬)自动调用该方法,˜q™é‡Œž®±åšåˆ é™¤è¯¥çŸ©å½¢çš„æ“ä½œå?/span>
46             target.parent.rawChildren.removeChild(shape);
47         }
48        
49         private function drawShape():void{
50             shape = new Shape();
51             shape.graphics.beginFill(_color);
52             shape.graphics.drawRect(target.width * -0.5,target.height * -0.5,target.width,target.height);
53             shape.graphics.endFill();
54             shape.x = target.x + target.width * 0.5;
55             shape.y = target.y + target.height * 0.5;
56             target.parent.rawChildren.addChild(shape);
57         }
58     }
59 }


ž®±å†™åˆ°è¿™é‡Œå§åQŒå…³äºŽTween其它的,ž®Þq•™ä½œäØ“(f¨´)作业åQŒè®©å¤§å®¶æ€è€ƒä¸ŽæŽ¢çƒ¦å§ï¼ä¹‹åŽå¦‚果有时间的话,ž®†ä¼š(x¨¬)写完下篇文章介绍Flexçš?#8220;变面”动画åQŒå³çŠ¶æ€å˜æ¢ï¼˜q™é‡Œå…ˆè°¢è°¢å¤§å®¶æ”¯æŒï¼


]]>
Flex的动ç”ÀL•ˆæžœä¸Žå˜æ¢åQï¼ˆä¸€åQ?/title><link>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218405.html</link><dc:creator>姜大å?/dc:creator><author>姜大å?/author><pubDate>Tue, 29 Jul 2008 06:20:00 GMT</pubDate><guid>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218405.html</guid><wfw:comment>http://www.aygfsteel.com/cph8066/comments/218405.html</wfw:comment><comments>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218405.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cph8066/comments/commentRss/218405.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cph8066/services/trackbacks/218405.html</trackback:ping><description><![CDATA[在Flex里面不像在Flash里面随意制作动画了,Flex更趋向于应用½E‹åºåQŒè€Œä¸æ˜¯åЍç”Õdˆ¶ä½œäº†åQŒæ‰€ä»¥æ²¡æœ‰äº†æ—‰™—´è½´çš„æ¦‚念。在Flex中ä‹É用动ç”ÀL•ˆæžœï¼Œå¯ä»¥ç”¨Flex自带的EffectåQŒæˆ–者自已定制EffectåQŒå› ä¸ºå¾ˆå¤šäh都想借Flash里面的一æ äh“ä½œFlexåQŒæ¯”如在Flash里面做一个动态按钮很å®ÒŽ(gu¨©)˜“åQŒå½“é¼ æ ‡¿UÕdЍåˆîC¸Šé¢æ—¶åQŒä¼š(x¨¬)有很多发光的点跑出来åQˆè§ç«è™«æ•ˆæžœåQ‰ï¼Œ˜q™ç§æ•ˆæžœåœ¨Flash十分å®ÒŽ(gu¨©)˜“实现åQŒä½†åœ¨Flex里面要实现这¿Uæ•ˆæžœå°±ä¸æ˜¯é‚£ä¹ˆ½Ž€å•的了,下面说说在Flex里的的动务效果的使用与自定义制作ã€?br /> <br /> 首先介绍一下Flex里面的自带的效果有以下几¿Uï¼š(x¨¬)<br />   Blur                            模糊效果<br />   Move                          ¿UÕdŠ¨æ•ˆæžœ<br />   Fade                          淡入淡出效果             <br />   Glow                          发光效果<br />   Resize                       调整大小效果<br />   Rotate                       æ—‹è{效果<br />   Zoom                         ¾~©æ”¾æ•ˆæžœ<br />   WipeLeft                    用遮¾|©å®žçŽ°ç”»é¢æ”¶æ”¾æ•ˆæžœï¼Œä¸‹åŒåQŒåˆ†åˆ«äØ“(f¨´)不同方向<br />   WipeRight<br />   WipeUp<br />   WipeDown<br /> <br /> 不同的效果所需要设¾|®çš„å±žæ€§ä¹Ÿä¸ä¸€æ øP¼Œæ¯”如Blur效果需要设¾|®å®ƒçš„X与Y轴的模糊像素<br /> <mx:Blur id="blur" blurXFrom="0" blurXTo="10" /><br /> 而Move效果需要设¾|®ç§»åŠ¨çš„ä½ç½®ä¿¡æ¯<br /> <mx:Move id="moveEffect" xFrom="-100" /><br /> 其它讄¡½®å¯ä»¥å‚考Flex语言参è€?br /> <br /> 下面说说如何使用˜q™äº›æ•ˆæžœã€‚要˜qè¡Œ˜q™äº›æ•ˆæžœæœ‰ä¸¤¿Uæ–¹æ³•:(x¨¬)一¿Uæ˜¯è°ƒç”¨è¯¥æ•ˆæžœçš„play()æ–ÒŽ(gu¨©)³•åQŒå¦å¤–一¿Uæ˜¯ä½¿ç”¨è§¦å‘器来触发效果ã€?br /> åQ?åQ‰ä‹É用play()æ–ÒŽ(gu¨©)³•åQ?br /> 先看效果åQ?br /> <object xcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" height="300" width="300" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" > <param name="Movie" value="/images/blogjava_net/cph8066/k2008115161838.swf" /> <param name="Quality" value="high"/> <param name="wmode" value="transparent"/><embed src="http://www.aygfsteel.com/images/blogjava_net/cph8066/k2008115161838.swf" width="300" height="300" quality="high" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" ></embed> </object><br /> 以下代码åQ?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><?</span><span style="color: #ff00ff;">xml version="1.0" encoding="utf-8"</span><span style="color: #0000ff;">?></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Application </span><span style="color: #ff0000;">xmlns:mx</span><span style="color: #0000ff;">="http://www.adobe.com/2006/mxml"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Script</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">        </span><span style="color: #0000ff;"><![CDATA[</span><span style="color: #808080;"><br /> </span><span style="color: #008080;"> 5</span> <span style="color: #808080;">            private function onClick(event:Event):void {<br /> </span><span style="color: #008080;"> 6</span> <span style="color: #808080;">                be.target = event.currentTarget;<br /> </span><span style="color: #008080;"> 7</span> <span style="color: #808080;">                be.play( );<br /> </span><span style="color: #008080;"> 8</span> <span style="color: #808080;">            }<br /> </span><span style="color: #008080;"> 9</span> <span style="color: #808080;">        </span><span style="color: #0000ff;">]]></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">10</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Script</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">11</span> <span style="color: #000000;">   <br /> </span><span style="color: #008080;">12</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Blur </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="be"</span><span style="color: #ff0000;"> blurXTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> blurYTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> duration</span><span style="color: #0000ff;">="1000"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">13</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">14</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Panel </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="p"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="180"</span><span style="color: #ff0000;"> click</span><span style="color: #0000ff;">="onClick(event)"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">15</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Application</span><span style="color: #0000ff;">></span></div> <br /> <br /> 在代码中看到åQŒè¦ä½¿ç”¨æ•ˆæžœåQŒå…ˆå®šå¥½ä¸€ä¸ªæ•ˆæžœï¼Œå¦‚上面的<mx:Blur ...>该标½{‘Ö°±æ˜¯æ¨¡¾pŠæ•ˆæžœçš„MXML标签åQŒå®šå¥½æ•ˆæžœåŽåœ¨Panel的点å‡ÖMº‹ä»‰™‡Œå†å¯¹è¯¥æ•ˆæžœè¿›è¡Œä¸€äº›è®¾¾|®ï¼Œå¦‚be.target = event.currentTarget 讄¡½®è¯¥æ•ˆæžœå°†è¦åº”用到的目标组ä»?Component)åQŒä¹‹åŽå†è°ƒç”¨play()æ–ÒŽ(gu¨©)³•后,该效果就ä¼?x¨¬)应用在Panel上面播放åQ?br /> <br /> åQ?åQ‰ä‹É用触发器播放效果åQ?br /> 使用触发器播放效果的话,可以不用写ActionScript代码åQŒç›´æŽ¥åœ¨¾l„äšg的效果触发器上指明ä‹É用哪个效果就可以了,比较½Ž€å•明了,但就不能˜q›è¡Œæ›´å¤šçš„属性定åˆÓž¼Œè€Œç”¨AS控制播放的话åQŒå¯ä»¥å¯¹æ•ˆæžœ˜q›è¡Œå¾ˆå¤šçš„设¾|®å†ç›¸åº”æ ÒŽ(gu¨©)®æƒ…况播放åQŒå…ˆçœ‹çœ‹è§¦å‘器播攄¡š„代码åQ?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #0000ff;"><?</span><span style="color: #ff00ff;">xml version="1.0" encoding="utf-8"</span><span style="color: #0000ff;">?></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Application </span><span style="color: #ff0000;">xmlns:mx</span><span style="color: #0000ff;">="http://www.adobe.com/2006/mxml"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">   <br /> </span><span style="color: #008080;">4</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Blur </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="be"</span><span style="color: #ff0000;"> blurXTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> blurYTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> duration</span><span style="color: #0000ff;">="2000"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">5</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">6</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Panel </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="p"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="180"</span><span style="color: #ff0000;"> creationCompleteEffect</span><span style="color: #0000ff;">="{be}"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">7</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Application</span><span style="color: #0000ff;">></span></div> <br /> <br /> 看以上代码,先写好了Blurçš„æ•ˆæžœåÆˆè®„¡½®å¥½å±žæ€§åŽåQŒduration="2000"˜q™ä¸ªæ˜¯æ’­æ”„¡š„æ—‰™—´ä»¥æ¯«¿U’䨓(f¨´)单位ã€?br /> 在Panel标签里有˜q™æ ·ä¸€å¥ï¼š(x¨¬)creationCompleteEffect="{be}" ˜q™ä¸ªž®±æ˜¯è§¦å‘器,是该Panel¾l„äšg的效果触发器åQŒå½“Panel¾l„äšg加蝲完成æ—Óž¼Œä¼?x¨¬)ç”±¾pȝ»Ÿè‡ªåŠ¨è°ƒç”¨è¯¥æ•ˆæžœè§¦å‘å™¨åQŒè§¦å‘器里面指了触发 be ˜q™ä¸ªBlur效果<br /> 在Flex里面˜q˜æœ‰å¾ˆå¤šè§¦å‘器如åQ?br />   addedEffect                                       被添加进容器时触发效æž?br />   removedEffect                                   被从容器中移除时触发效果<br />   creationCompleteEffect                     被创建成功时触发效果<br />   focusInEffect                                     获得焦点时触å?br />   focusOutEffect                                   失去焦点时触å?br />   hideEffect                                          被隐藏时(visible=false)触发<br />   showEffect                                        被显½Cºæ—¶(visible=true)触发<br />   rollOverEffect                                     é¼ æ ‡¾lè¿‡æ—¶è§¦å?br />   rollOutEffect                                       é¼ æ ‡¼›Õd¼€æ—¶è§¦å?br />   mouseDownEffect                              鼠标按下时触å?br />   mouseUpEffect                                   鼠标村ּ€æ—¶è§¦å?br />   moveEffect                                         被移动时触发<br />   resizeEffect                                       被重整大ž®æ—¶è§¦å‘<br /> <br /> 注意åQšè¿™äº›éƒ½æ˜¯æ•ˆæžœè§¦å‘器åQŒä¸è¦ä¸Žäº‹äšgè§¦å‘å™¨æØœä¹×ƒº†ã€‚事件触发器是rollOveråQŒäº‹ä»¶è§¦å‘器与效果触发器差不多,事äšg触发器是当用æˆäh‰§è¡Œç›¸ž®±æ“ä½œæ—¶è§¦å‘事äšgåQŒå°†ä¼?x¨¬)调用自定的事äšg触发处理函数åQŒè€Œæ•ˆæžœè§¦å‘å™¨æ˜¯æ‰§è¡Œç›¸åº”æ“ä½œæ—¶è¢«è§¦å‘åÆˆç”Þq³»¾lŸè‡ªåŠ¨è°ƒç”¨æ‰€å®šçš„æ•ˆæžœçš„play()æ–ÒŽ(gu¨©)³•ã€?br /> <br /> 现在说说效果的一些其它属性:(x¨¬)<br /> 每个效果都有reverse( );æ–ÒŽ(gu¨©)³•åQŒè¯¥æ–ÒŽ(gu¨©)³•是反向播放,原本由小到大的变化,而调用reverse( );后再˜qè¡Œplay()的话åQŒæ•ˆæžœå°†ä¼?x¨¬)从大到ž®è¿›è¡Œæ’­æ”¾ã€?br /> 但要注意的一ç‚ÒŽ(gu¨©)˜¯åQŒreverse( );不会(x¨¬)自动播放åQŒå³æ˜¯å•单调用reverse( );的话åQŒæ•ˆæžœåƈ不会(x¨¬)播放åQŒä»–只会(x¨¬)è®°å½•è¯¥æ•ˆæžœäØ“(f¨´)倒è{åQŒè€Œè¦å†è°ƒç”¨play()后倒è{效果才会(x¨¬)开始播放。而调用pause( )与resume( )ž®±æ˜¯æš‚停与ç‘ô¾l­æ’­æ”¾æ•ˆæž?br /> <br /> startDelay˜q™ä¸ªå±žæ€§æ˜¯è®„¡½®æ•ˆæžœçš„æ’­æ”‘Öšgæ—Óž¼Œä»¥æ¯«¿U’䨓(f¨´)单位åQŒå³è¦ç­‰å¾…多ž®‘毫¿U’后效果才开始播放,如:(x¨¬)<br /> <mx:Blur id="be" blurXTo="50" startDelay="3000" /><br /> 该模¾pŠæ•ˆæžœå°†ä¼?x¨¬)在调用play()之后3¿U’才开始播æ”?br /> <br /> repeatCount˜q™ä¸ªå±žæ€§æ˜¯è®„¡½®æ•ˆæžœçš„重复次敎ͼŒé»˜è®¤ä¸?åQŒè®¾¾|®äØ“(f¨´)0的话ž®±æ˜¯ä¸åœå¾ªçŽ¯æ’­æ”¾<br /> <mx:Blur id="be" blurXTo="50" startDelay="3000" repeatCount="5" /><br /> <br /> 每个效果都有两个事äšgåQšeffectStart ä¸?effectEnd<br /> 你可以在该效果事件的处理函数里面å¯ÒŽ(gu¨©)•ˆæžœä½œç›¸åº”的操作,如:(x¨¬)<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><?</span><span style="color: #ff00ff;">xml version="1.0" encoding="utf-8"</span><span style="color: #0000ff;">?></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Application </span><span style="color: #ff0000;">xmlns:mx</span><span style="color: #0000ff;">="http://www.adobe.com/2006/mxml"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Script</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">        </span><span style="color: #0000ff;"><![CDATA[</span><span style="color: #808080;"><br /> </span><span style="color: #008080;"> 5</span> <span style="color: #808080;">            import mx.events.EffectEvent;<br /> </span><span style="color: #008080;"> 6</span> <span style="color: #808080;">            public function onEffEnd(e:EffectEvent):void{<br /> </span><span style="color: #008080;"> 7</span> <span style="color: #808080;">                e.effectInstance.reverse();<br /> </span><span style="color: #008080;"> 8</span> <span style="color: #808080;">                e.effectInstance.play();<br /> </span><span style="color: #008080;"> 9</span> <span style="color: #808080;">            }<br /> </span><span style="color: #008080;">10</span> <span style="color: #808080;">        </span><span style="color: #0000ff;">]]></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">11</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Script</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">12</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Blur </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="be"</span><span style="color: #ff0000;"> blurXTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> blurYTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> duration</span><span style="color: #0000ff;">="2000"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">13</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">14</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Panel </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="p"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="180"</span><span style="color: #ff0000;"> creationCompleteEffect</span><span style="color: #0000ff;">="{be}"</span><span style="color: #ff0000;"> effectEnd</span><span style="color: #0000ff;">="onEffEnd(event)"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">15</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Application</span><span style="color: #0000ff;">></span></div> <br /> 当效果播攑֮Œæ—Óž¼Œ¾pȝ»Ÿž®†ä¼š(x¨¬)自动触发effectEnd事äšgåQŒåœ¨å¤„理函数里面åQŒå°†è¯¥æ•ˆæžœInstance即现时播攄¡š„效果实例˜q›è¡Œå€’è{òq¶æ’­æ”¾ï¼Œå½“播攑֮ŒåQŒåˆä¼?x¨¬)触发effectEnd事伯åQŒè¿™æ ·ä¸€ç›´åó@环!<br /> <br /> 现在再来说说效果的组合:(x¨¬)<br /> 通常如果你觉得只应用一个效果很单调的话åQŒå¯ä»¥è¿›è¡Œæ•ˆæžœç»„合应用,卛_¤šä¸ªæ•ˆæžœåŒæ—¶æ’­æ”¾æˆ–者顺序播放,<br /> 如,当加载页面时åQŒä½ æƒ³Panel先模¾pŠåˆ°ä¸€å®šç¨‹åº¦ï¼Œå†å°†Panel¿UÕdŠ¨åˆ°æŸä¸ªä½¾|®ï¼Œå†æŠŠPanel˜q˜åŽŸæˆåŽŸæ¥çš„æ¸…æ·…åº¦ï¼ˆåÏx¶ˆé€€æ¨¡ç³ŠåQ‰ã€‚这样分析一下,一å…Þq”¨äº†ä¸‰ä¸ªæ•ˆæžœï¼Œä¸€åQŒå…ˆåº”用BluråQˆç”±æ¸…至模)效果åQŒå½“Blur完成æ—Óž¼Œå†åº”用Move效果åQŒå½“Move完成æ—Óž¼Œå†åº”用另外一个BluråQˆç”±æ¨¡è‡³æ¸…)效果。这样三个效果组合就是按™åºåº¾l„合åQŒå…ˆåŽè¿è¡Œã€‚先来看看效果:(x¨¬)<br /> <object xcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" height="380" width="450" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" > <param name="Movie" value="/images/blogjava_net/cph8066/y2008115161856.swf" /> <param name="Quality" value="high"/> <param name="wmode" value="transparent"/><embed src="http://www.aygfsteel.com/images/blogjava_net/cph8066/y2008115161856.swf" width="450" height="380" quality="high" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" ></embed> </object><br /> 再来看看代码åQ?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><?</span><span style="color: #ff00ff;">xml version="1.0" encoding="utf-8"</span><span style="color: #0000ff;">?></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Application </span><span style="color: #ff0000;">xmlns:mx</span><span style="color: #0000ff;">="http://www.adobe.com/2006/mxml"</span><span style="color: #ff0000;"> layout</span><span style="color: #0000ff;">="absolute"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">   <br /> </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Sequence </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="sequenceEffect"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 5</span> <span style="color: #000000;">        </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Blur </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="beOut"</span><span style="color: #ff0000;"> blurXTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> blurYTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> duration</span><span style="color: #0000ff;">="500"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 6</span> <span style="color: #000000;">        </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Move </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="mv"</span><span style="color: #ff0000;"> xTo</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> yTo</span><span style="color: #0000ff;">="150"</span><span style="color: #ff0000;"> duration</span><span style="color: #0000ff;">="500"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 7</span> <span style="color: #000000;">        </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Blur </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="beIn"</span><span style="color: #ff0000;"> blurXFrom</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> blurYFrom</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> blurXTo</span><span style="color: #0000ff;">="0"</span><span style="color: #ff0000;"> blurYTo</span><span style="color: #0000ff;">="0"</span><span style="color: #ff0000;"> duration</span><span style="color: #0000ff;">="500"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 8</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Sequence</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 9</span> <span style="color: #000000;">   <br /> </span><span style="color: #008080;">10</span> <span style="color: #000000;">    </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Panel </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="p"</span><span style="color: #ff0000;"> width</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> height</span><span style="color: #0000ff;">="180"</span><span style="color: #ff0000;"> mouseDownEffect</span><span style="color: #0000ff;">="sequenceEffect"</span><span style="color: #ff0000;">  </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">11</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Application</span><span style="color: #0000ff;">></span></div> <br /> 看以上代码,<mx:Sequence id="sequenceEffect">标签ž®±æ˜¯™åºåº¾l„合效果标签åQŒå½“应用sequenceEffect效果的时候,它会(x¨¬)按顺序播放该标签里面的三个子效果ã€?br /> <br /> 另外的就是同时播放了åQ?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Parallel </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="parallelEffect"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;">          </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Blur </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="beOut"</span><span style="color: #ff0000;"> blurXTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> blurYTo</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> duration</span><span style="color: #0000ff;">="500"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">      </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mx:Move </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="mv"</span><span style="color: #ff0000;"> xTo</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> yTo</span><span style="color: #0000ff;">="150"</span><span style="color: #ff0000;"> duration</span><span style="color: #0000ff;">="500"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">4</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">mx:Parallel</span><span style="color: #0000ff;">></span></div> <br /> ˜q™ä¸ªæ ‡ç­¾ž®±æ˜¯åŒæ—¶æ’­æ”¾çš„æ•ˆæžœæ ‡½{¾ï¼Œæ”‘Öœ¨å®ƒé‡Œé¢çš„子效果都ä¼?x¨¬)同时播放,即一è¾ÒŽ(gu¨©)¨¡¾pŠä¸€è¾¹ç§»åŠ¨ã€‚è¿™ä¸ªéƒ½å¯ä»¥è‡ªç”±¾l„合åQ?lt;mx:Parallel>ä¸?lt;mx:Sequence>标签都可以自ç”Þq»„合,例如先按™åºåºå…ˆæ’­æ”¾æ¨¡¾pŠï¼Œå†åŒæ—¶æ’­æ”„¡§»åŠ¨ä¸Žéšè—½{‰ã€‚这里就不多说了ã€?br /> <br /> 使用Flex自带的效果基本用法就˜q™äº›åQŒä¸‹½‹‡æ–‡ç« å°†è®¨è®ºè‡ªå®šä¹‰æ•ˆæžœçš„制作åQŒä¸‹½‹‡å°†ä¼?x¨¬)详¾l†è¯´è¯´è¿™½‹‡æ–‡ç« ä¸Šé¢è¯´åˆ°çš„ effectInstance 卛_®žä¾‹ä¸Žå·¥åŽ‚çš„æ¦‚å¿üc€?br /> <br /> <br /> <br /> <img src ="http://www.aygfsteel.com/cph8066/aggbug/218405.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cph8066/" target="_blank">姜大å?/a> 2008-07-29 14:20 <a href="http://www.aygfsteel.com/cph8066/archive/2008/07/29/218405.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一¾Ÿ¤ä¼š(x¨¬)跟着声音跌™ˆžçš?D格子åQ?/title><link>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218402.html</link><dc:creator>姜大å?/dc:creator><author>姜大å?/author><pubDate>Tue, 29 Jul 2008 06:16:00 GMT</pubDate><guid>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218402.html</guid><wfw:comment>http://www.aygfsteel.com/cph8066/comments/218402.html</wfw:comment><comments>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218402.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cph8066/comments/commentRss/218402.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cph8066/services/trackbacks/218402.html</trackback:ping><description><![CDATA[      ˜q‘来在学ä¹?f¨¤n)Flashçš?D技术,现在我看˜q‡çš„ž®±PV3D 与Away3D˜q™ä¸¤ä¸ªå¼€æºæ¡†æžÓž¼Œæ„Ÿè§‰˜q˜ä¸é”™ï¼Œå¥½åƒAway3D的效果好点,但效率不如PV3DåQŒPV3D½Ž—是äºÖMØ“(f¨´)åQˆä¸ä¼?x¨¬)用五笔打这个å­?_-åQŒæˆ‘机子里又没拼韌™¾“入,ž®†å°±ä¸‹å§åQï¼‰3DåQŒä¸½Ž¡è¿™ä¹ˆå¤šäº†ï¼Œåšä¸ªä¸œè¥¿¾lƒç»ƒæ‰‹ï¼Œå…ˆçœ‹æ•ˆæžœåQ?br /> <br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/cph8066/d20081221229.PNG" width="282" height="235" /><br /> <br /> [url=http://www.jiangzone.com.cn/jiang/3dmusic/soundtest.swf]˜q™é‡Œçœ‹çœ‹æ•ˆæžœåQ[/url]<br /> <br />     ˜q™ä¸ª½E‹åºå¾ˆç®€å•到没无½Ž€å•了åQŒå°±åªæ˜¯ç”¨äº†PV3D框架中的Cubeçš?D对象åQŒä¸€å£æ°”生成64个放在数¾l„里待用åQŒä¹‹åŽç”¨Flash里的声音¾cÕdŠ è½½åÆˆæ’­æ”¾å£°éŸ³åQŒä¹‹åŽåœ¨ENTER_FRAME事äšg里检‹¹‹å½“前声音的频谱åQŒä¹‹åŽæ ¹æ®é¢‘è°Þqš„高低来调整Cube格子的高低,在Flash里获取的声音频谱æœ?12个Float数据åQŒä»£è¡?12¾U§é¢‘谱,而前256¾U§äØ“(f¨´)LeftChangleåQŒåŽ256¾U§äØ“(f¨´)RightChangleåQŒç”±äºŽå¦‚果生æˆ?56ä¸?D对象的话åQŒå¯¹CPU来说是个考验åQŒæ‰€ä»¥å°±æŠ˜ä¸­é—´éš”æŠ½å–64个频ŒD‰|¥æ˜„¡¤ºåQŒç”±äºŽæ‡’于写代码了,ž®±åªå†™äº†LeftChangle的频谱ã€?br /> <br />     以下是代码:(x¨¬)<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">  1</span> <span style="color: #008000;">//</span><span style="color: #008000;">************导入需要用到的¾c?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;">  2</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> flash.display.Sprite;<br /> </span><span style="color: #008080;">  3</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> org.papervision3d.scenes.Scene3D;<br /> </span><span style="color: #008080;">  4</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> org.papervision3d.cameras.FreeCamera3D;<br /> </span><span style="color: #008080;">  5</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> org.papervision3d.objects.Cube;<br /> </span><span style="color: #008080;">  6</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> org.papervision3d.materials.MaterialsList;<br /> </span><span style="color: #008080;">  7</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> org.papervision3d.materials.WireframeMaterial;<br /> </span><span style="color: #008080;">  8</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> org.papervision3d.materials.ColorMaterial;<br /> </span><span style="color: #008080;">  9</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> org.papervision3d.cameras.Camera3D;<br /> </span><span style="color: #008080;"> 10</span> <span style="color: #0000ff;">import</span><span style="color: #000000;">     org.papervision3d.objects.Plane;<br /> </span><span style="color: #008080;"> 11</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 12</span> <span style="color: #008000;">//</span><span style="color: #008000;">************定义需要用到的对象</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 13</span> <span style="color: #000000;">var cont:Sprite;<br /> </span><span style="color: #008080;"> 14</span> <span style="color: #000000;">var scene:Scene3D;<br /> </span><span style="color: #008080;"> 15</span> <span style="color: #000000;">var camera:FreeCamera3D;<br /> </span><span style="color: #008080;"> 16</span> <span style="color: #000000;">var ml:MaterialsList;<br /> </span><span style="color: #008080;"> 17</span> <span style="color: #000000;">var material:ColorMaterial;<br /> </span><span style="color: #008080;"> 18</span> <span style="color: #000000;">var cubeArr:Array;<br /> </span><span style="color: #008080;"> 19</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 20</span> <span style="color: #008000;">//</span><span style="color: #008000;">***********讄¡½®æ”„¡½®3D东东的容å™?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 21</span> <span style="color: #000000;">cont </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Sprite();<br /> </span><span style="color: #008080;"> 22</span> <span style="color: #000000;">cont.x </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">150</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 23</span> <span style="color: #000000;">cont.y </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">120</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 24</span> <span style="color: #0000ff;">this</span><span style="color: #000000;">.addChild(cont);<br /> </span><span style="color: #008080;"> 25</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 26</span> <span style="color: #008000;">//</span><span style="color: #008000;">******讄¡½®ä¸€ä¸?D场景åQŒåƈ讄¡½®å¥½Camera的位¾|®ä¸Žè§’度</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 27</span> <span style="color: #000000;">scene </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Scene3D(cont);<br /> </span><span style="color: #008080;"> 28</span> <span style="color: #000000;">camera </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> FreeCamera3D();<br /> </span><span style="color: #008080;"> 29</span> <span style="color: #000000;">camera.z </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1200</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 30</span> <span style="color: #000000;">camera.x </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">100</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 31</span> <span style="color: #000000;">camera.y </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">700</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 32</span> <span style="color: #000000;">camera.rotationX </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">-</span><span style="color: #000000;">30</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 33</span> <span style="color: #000000;">camera.rotationY </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">180</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 34</span> <span style="color: #000000;">camera.focus </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">100</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 35</span> <span style="color: #000000;">camera.zoom </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">10</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 36</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 37</span> <span style="color: #008000;">//</span><span style="color: #008000;">***********定义一个存放所有格子的数组</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 38</span> <span style="color: #000000;">cubeArr </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Array();<br /> </span><span style="color: #008080;"> 39</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 40</span> <span style="color: #008000;">//</span><span style="color: #008000;">定义一个颜色材质与材质列表åQŒç”¨äºŽåº”用于格子çš?个面的脓(chu¨¤ng)å›?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 41</span> <span style="color: #000000;">material </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> ColorMaterial(</span><span style="color: #000000;">0x096288</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 42</span> <span style="color: #000000;">ml </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> MaterialsList();<br /> </span><span style="color: #008080;"> 43</span> <span style="color: #000000;">ml.addMaterial(material,</span><span style="color: #000000;">"</span><span style="color: #000000;">front</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 44</span> <span style="color: #000000;">ml.addMaterial(material,</span><span style="color: #000000;">"</span><span style="color: #000000;">back</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 45</span> <span style="color: #000000;">ml.addMaterial(material,</span><span style="color: #000000;">"</span><span style="color: #000000;">top</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 46</span> <span style="color: #000000;">ml.addMaterial(material,</span><span style="color: #000000;">"</span><span style="color: #000000;">bottom</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 47</span> <span style="color: #000000;">ml.addMaterial(material,</span><span style="color: #000000;">"</span><span style="color: #000000;">left</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 48</span> <span style="color: #000000;">ml.addMaterial(material,</span><span style="color: #000000;">"</span><span style="color: #000000;">right</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 49</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 50</span> <span style="color: #000000;">var i:</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 51</span> <span style="color: #000000;">var j:</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 52</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 53</span> <span style="color: #008000;">//</span><span style="color: #008000;">生成64个小格子òq¶æŽ’列好位置</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 54</span> <span style="color: #0000ff;">for</span><span style="color: #000000;">(;i</span><span style="color: #000000;"><</span><span style="color: #000000;">64</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){<br /> </span><span style="color: #008080;"> 55</span> <span style="color: #000000;">    ml.addMaterial(</span><span style="color: #0000ff;">new</span><span style="color: #000000;"> ColorMaterial(</span><span style="color: #000000;">0xB9DFCF</span><span style="color: #000000;">),</span><span style="color: #000000;">"</span><span style="color: #000000;">top</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 56</span> <span style="color: #000000;">    var c:Cube </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Cube(ml,</span><span style="color: #000000;">20</span><span style="color: #000000;">,</span><span style="color: #000000;">20</span><span style="color: #000000;">,</span><span style="color: #000000;">20</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 57</span> <span style="color: #000000;">    c.x </span><span style="color: #000000;">=</span><span style="color: #000000;"> (i </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">8</span><span style="color: #000000;">) </span><span style="color: #000000;">*</span><span style="color: #000000;"> (</span><span style="color: #000000;">20</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">5</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 58</span> <span style="color: #000000;">    c.z </span><span style="color: #000000;">=</span><span style="color: #000000;"> (j </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">8</span><span style="color: #000000;">) </span><span style="color: #000000;">*</span><span style="color: #000000;"> (</span><span style="color: #000000;">20</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">5</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 59</span> <span style="color: #000000;">    (i </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">8</span><span style="color: #000000;"> </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">) </span><span style="color: #000000;">?</span><span style="color: #000000;"> j</span><span style="color: #000000;">++</span><span style="color: #000000;">:j</span><span style="color: #000000;">=</span><span style="color: #000000;">j;<br /> </span><span style="color: #008080;"> 60</span> <span style="color: #000000;">    cubeArr[i] </span><span style="color: #000000;">=</span><span style="color: #000000;"> c;<br /> </span><span style="color: #008080;"> 61</span> <span style="color: #000000;">    scene.addChild(c);<br /> </span><span style="color: #008080;"> 62</span> <span style="color: #000000;">}<br /> </span><span style="color: #008080;"> 63</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 64</span> <span style="color: #008000;">//</span><span style="color: #008000;">创徏一个面板,讄¡½®å¥½ä½¾|®æ”¾åœ¨å°æ ¼å­é˜Ÿåˆ—的下面(地板åQ?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 65</span> <span style="color: #000000;">var plane:Plane </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Plane(</span><span style="color: #0000ff;">new</span><span style="color: #000000;"> WireframeMaterial(</span><span style="color: #000000;">0xaaaaaa</span><span style="color: #000000;">),</span><span style="color: #000000;">300</span><span style="color: #000000;">,</span><span style="color: #000000;">300</span><span style="color: #000000;">,</span><span style="color: #000000;">7</span><span style="color: #000000;">,</span><span style="color: #000000;">7</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 66</span> <span style="color: #000000;">plane.rotationX </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">-</span><span style="color: #000000;">90</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 67</span> <span style="color: #000000;">plane.y </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">-</span><span style="color: #000000;">50</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 68</span> <span style="color: #000000;">plane.x </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">70</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 69</span> <span style="color: #000000;">plane.z </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">60</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 70</span> <span style="color: #000000;">scene.addChild(plane);<br /> </span><span style="color: #008080;"> 71</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 72</span> <span style="color: #008000;">//</span><span style="color: #008000;">以上æ˜?D部分åQŒä»¥ä¸‹æ˜¯å£°éŸ³éƒ¨åˆ†<br /> </span><span style="color: #008080;"> 73</span> <span style="color: #008000;">//</span><span style="color: #008000;">建立一个字节数¾l„用于存放获取到的频è°×ƒ¿¡æ?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 74</span> <span style="color: #000000;">var bArr:ByteArray </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> ByteArray();<br /> </span><span style="color: #008080;"> 75</span> <span style="color: #008000;">//</span><span style="color: #008000;">è¯Õd–声音文äšgòq¶æ’­æ”?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 76</span> <span style="color: #000000;">var req:URLRequest </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> URLRequest(</span><span style="color: #000000;">"</span><span style="color: #000000;">a.mp3</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 77</span> <span style="color: #000000;">var sound:Sound </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Sound(req);<br /> </span><span style="color: #008080;"> 78</span> <span style="color: #000000;">sound.play();<br /> </span><span style="color: #008080;"> 79</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 80</span> <span style="color: #008000;">//</span><span style="color: #008000;">æ·ÕdŠ ä¸€ä¸ªäº‹ä»¶ä¾¦å¬å™¨</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 81</span> <span style="color: #0000ff;">this</span><span style="color: #000000;">.addEventListener(Event.ENTER_FRAME,onEnter);<br /> </span><span style="color: #008080;"> 82</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;"> 83</span> <span style="color: #000000;">function onEnter(e:Event):</span><span style="color: #0000ff;">void</span><span style="color: #000000;">{<br /> </span><span style="color: #008080;"> 84</span> <span style="color: #000000;">    </span><span style="color: #008000;">//</span><span style="color: #008000;">获取当前声音频谱åQŒå°†æ•°æ®å­˜æ”¾åœ¨bArr里面ã€?br /> </span><span style="color: #008080;"> 85</span> <span style="color: #008000;">    </span><span style="color: #008000;">//</span><span style="color: #008000;">true为频谱模式,0为采æ ïL(f¨¥ng)Ž‡ä»£å·</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 86</span> <span style="color: #000000;">    SoundMixer.computeSpectrum(bArr,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;"> 87</span> <span style="color: #000000;">    i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 88</span> <span style="color: #000000;">    </span><span style="color: #008000;">//</span><span style="color: #008000;">è¯Õd–å‰?56个数据,即Left声道的频è°?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 89</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">for</span><span style="color: #000000;">(;i</span><span style="color: #000000;"><</span><span style="color: #000000;">256</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){<br /> </span><span style="color: #008080;"> 90</span> <span style="color: #000000;">        var temp:Number </span><span style="color: #000000;">=</span><span style="color: #000000;"> bArr.readFloat();<br /> </span><span style="color: #008080;"> 91</span> <span style="color: #000000;">        </span><span style="color: #008000;">//</span><span style="color: #008000;">é—´éš”4个数据中获取一个显½C?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 92</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(i </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">4</span><span style="color: #000000;"> </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">){<br /> </span><span style="color: #008080;"> 93</span> <span style="color: #000000;">            </span><span style="color: #008000;">//</span><span style="color: #008000;">从数¾l„中获取相应的格å­?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 94</span> <span style="color: #000000;">            var c:Cube </span><span style="color: #000000;">=</span><span style="color: #000000;"> cubeArr[i</span><span style="color: #000000;">/</span><span style="color: #000000;">4</span><span style="color: #000000;">] as Cube;<br /> </span><span style="color: #008080;"> 95</span> <span style="color: #000000;">            </span><span style="color: #008000;">//</span><span style="color: #008000;">讄¡½®æ ¼å­åœ¨ä¸‰¾l´åæ ‡ä¸­çš„高ã€?br /> </span><span style="color: #008080;"> 96</span> <span style="color: #008000;">            </span><span style="color: #008000;">//</span><span style="color: #008000;">ç”׃ºŽé¢‘谱数据æ˜?-1åQŒæ‰€ä»¥å°†å…¶æ”¾å¤?00å€?/span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 97</span> <span style="color: #000000;">            c.y </span><span style="color: #000000;">=</span><span style="color: #000000;"> temp </span><span style="color: #000000;">*</span><span style="color: #000000;"> </span><span style="color: #000000;">100</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 98</span> <span style="color: #000000;">        }<br /> </span><span style="color: #008080;"> 99</span> <span style="color: #000000;">    }<br /> </span><span style="color: #008080;">100</span> <span style="color: #000000;">    </span><span style="color: #008000;">//</span><span style="color: #008000;">镜头旋è{¿UÕdЍ</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">101</span> <span style="color: #000000;">    camera.moveLeft(</span><span style="color: #000000;">12</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;">102</span> <span style="color: #000000;">    camera.rotationY </span><span style="color: #000000;">+=</span><span style="color: #000000;"> </span><span style="color: #000000;">0.6</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">103</span> <span style="color: #000000;">    scene.renderCamera(camera);<br /> </span><span style="color: #008080;">104</span> <span style="color: #000000;">}</span></div> <br /> <br /> <br /> <img src ="http://www.aygfsteel.com/cph8066/aggbug/218402.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cph8066/" target="_blank">姜大å?/a> 2008-07-29 14:16 <a href="http://www.aygfsteel.com/cph8066/archive/2008/07/29/218402.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">Ó¢É½ÏØ</a>| <a href="http://" target="_blank">ÓÀ¼ªÏØ</a>| <a href="http://" target="_blank">»ôÉ½ÏØ</a>| <a href="http://" target="_blank">¶·ÁùÊÐ</a>| <a href="http://" target="_blank">°ÍÂí</a>| <a href="http://" target="_blank">°ØÏçÏØ</a>| <a href="http://" target="_blank">ãòÏªÏØ</a>| <a href="http://" target="_blank">°×ÀÊÏØ</a>| <a href="http://" target="_blank">ÒË»ÆÏØ</a>| <a href="http://" target="_blank">ÀÖ¶¼ÏØ</a>| <a href="http://" target="_blank">Á½µ±ÏØ</a>| <a href="http://" target="_blank">ÏÄÒØÏØ</a>| <a href="http://" target="_blank">»Ý¶«ÏØ</a>| <a href="http://" target="_blank">×ñÒåÊÐ</a>| <a href="http://" target="_blank">ÑôË·ÏØ</a>| <a href="http://" target="_blank">µÇ·âÊÐ</a>| <a href="http://" target="_blank">ÐÂÖ£ÊÐ</a>| <a href="http://" target="_blank">Ì«²ÖÊÐ</a>| <a href="http://" target="_blank">ÂúÖÞÀïÊÐ</a>| <a href="http://" target="_blank">°ÍÀï</a>| <a href="http://" target="_blank">³Ê¹±ÏØ</a>| <a href="http://" target="_blank">ÐÞÎÄÏØ</a>| <a href="http://" target="_blank">ÉñÅ©¼ÜÁÖÇø</a>| <a href="http://" target="_blank">¾Ą̊ÊÐ</a>| <a href="http://" target="_blank">»Æ´óÏÉÇø</a>| <a href="http://" target="_blank">èï´¨ÏØ</a>| <a href="http://" target="_blank">ͬÐÄÏØ</a>| <a href="http://" target="_blank">ÉÛÑôÊÐ</a>| <a href="http://" target="_blank">»³À´ÏØ</a>| <a href="http://" target="_blank">Çíº£ÊÐ</a>| <a href="http://" target="_blank">ÀÉÏªÏØ</a>| <a href="http://" target="_blank">¾¸Î÷ÏØ</a>| <a href="http://" target="_blank">²ý¼ªÊÐ</a>| <a href="http://" target="_blank">Ç¦É½ÏØ</a>| <a href="http://" target="_blank">½ðÑôÏØ</a>| <a href="http://" target="_blank">´ó»¯</a>| <a href="http://" target="_blank">ºÍÌïÏØ</a>| <a href="http://" target="_blank">·±ÖÅÏØ</a>| <a href="http://" target="_blank">ÆîÃÅÏØ</a>| <a href="http://" target="_blank">ÎÌÔ´ÏØ</a>| <a href="http://" target="_blank">Âí¶û¿µÏØ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>