锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鏂規(guī)硶涓錛氭墿灞曟椂瀵硅薄鍙鍔犳柟娉曞拰灞炴э紝鍘熸湁鐨勫睘鎬у拰鏂規(guī)硶淇濈暀銆傝繖瀵逛簬c++絳夊熀浜庝簩榪涘埗瀵硅薄甯冨眬鐨勬柟娉曞湪浣跨敤鏃墮渶瑕侀潪甯稿皬蹇?jī)锛屽惁鍒欐瀬鏄撳紩钃v鍐呭瓨璁塊棶榪濊銆備絾鏄浜嶢ctionScript鍩轟簬鍏冩暟鎹殑璇█鏉ヨ錛岃繖涓鏂規(guī)硶涓鑸笉浼?xì)鏈変粈涔堥棶棰樸傚浜嶫ava鐨勬儏鍐典笉鏄潪甯告竻妤氾紝浼拌涓巃ctionscript鎯呭喌宸笉澶氥?br />
鏂規(guī)硶浜岋細(xì)澧炲姞鏂扮殑瀵硅薄錛堜嬌鐢ㄧ戶鎵匡級(jí)鎻愪緵鎵╁睍鍔熻兘錛屽師鏉ョ殑瀵硅薄淇濈暀銆備笉榪囧浜庤﹀悎鐨勭被鍏崇郴錛屽彧澧炲姞涓涓被寰寰騫朵笉鑳借揪鍒扮洰鐨勩?br />
榪欓噷蹇呴』娉ㄦ剰鐨勪竴鐐規(guī)槸錛孉PI鎻愪緵鑰呬笌API浣跨敤鑰呬繚鎸佸崟鍚戜緷璧栫殑鍏崇郴錛孉PI涓嶅簲璇ヤ緷璧栦簬鍏蜂綋鐨勫簲鐢ㄣ傚浜庡妯″潡鐨勮蔣浠舵潵璇存灦鏋勬渶閲嶈鐨勬槸涓ょ偣錛?br />
1. 浠庨渶姹備腑鎶借薄鍑篈PI錛屽茍涓斿皢API鐨勫紑鍙戜氦緇欑礌璐ㄨ緝楂樼殑浜哄憳錛岃屽簲鐢ㄤ箣闂存澗鏁h﹀悎錛岄氳繃API鍙戠敓鍏崇郴銆?br />
2. API鏈韓絀洪棿涔熻鍋氬垝鍒嗭紝灝嗕箣鍒囧壊鎴愪負(fù)姝d氦鐨勭┖闂達(dá)紝榪欐牱API鎵╁睍鏃訛紝褰卞搷鎺у埗鍦ㄥ眬閮ㄣ?br />
欏轟究璇磋鍚戝墠鍏煎鐨勯棶棰橈紝榪欒姹傛柊鐨凜lient鍏煎鑰佺殑API錛岃繖鍦ˋPI璁捐涓緢灝戠鍒幫紝浣嗘槸鍦ㄨ璁¤蔣浠剁殑鏂囨。瀛樺偍鏍煎紡錛圫ave/Load錛夋椂甯稿父閬囧埌錛岃繖瑕佹眰鏂扮殑搴旂敤鍦ㄥ紑鍙戞椂錛屽仛鍒ゆ柇錛屽垽鏂睘鎬т笉瀛樺湪鏃跺簲璇ュ浣曞鐞嗭紝涔熷氨鏄彁渚涗竴涓粯璁ゅ箋?br />
瀵逛簬鍏跺畠鐨凷erver-Client緇撴瀯錛屾瘮濡俉ebService鐨勬墿灞曪紝XML鎵╁睍絳夌瓑錛屾垜鎯充篃搴旇鏈夌被浼肩殑鏂規(guī)硶銆傛墍浠ユ垜涔熸兂鍘葷湅鐪嬩竴浜涘叕寮鐨凙PI鎺ュ彛鏄浣曡璁″拰鎵╁睍鐨勶紝姣斿FaceBook錛屼笉榪囪鍒板簳榪樻槸鎶借薄涓庣┖闂村垝鍒嗙殑闂錛岃岃繖浜涘茍娌℃湁閫氱敤鐨勬柟娉曪紝閮戒緷璧栦簬鍏蜂綋鐨勯渶姹傘?br />
浜? 闈㈠悜鎺ュ彛鐨勮璁″疄闄呬笂灝辨槸鍚堢悊鐨勫垝鍒嗗璞$┖闂淬傚浜庡璞″湪鎵╁睍鏃訛紝鎴戜滑甯稿父浼?xì)鍙戠幇迤堟病鏈夊姙娉曟妸瀹冨垝鍒嗘垚鏍?wèi)鐘剁殑綾誨叧緋伙紝甯稿父鎴戜滑鍙戠幇浠庝竴涓被A媧劇敓浜?jiǎn)涓や釜绫籅鍜孋錛屼絾鏄張瀛樺湪絎笁縐嶆儏鍐碉紝瀹冪殑琛屼負(fù)鍖呭惈閮ㄥ垎B鐨勮涓轟篃鍖呭惈閮ㄥ垎C鐨勮涓恒傚疄闄呬笂綾葷殑絀洪棿鍒掑垎錛屽拰鏁版嵁搴撹璁℃槸涓鏍風(fēng)殑錛屾瘡涓嬈″垝鍒嗭紙緇ф壙錛夌浉褰撲簬浠ヤ竴涓儲(chǔ)寮曞垝鍒嗗璞$┖闂達(dá)紝浣嗘槸寰堝鏃跺欏垝鍒嗘湁澶氫釜绱㈠紩錛岃繖鏃跺欒鎯沖垝鍒嗘垚鍗曚竴鐨勪竴媯墊爲(wèi)鏄笉鍙兘鐨勩傝繖鏃跺欏氨闇瑕佽繘涓姝ョ粏鍖栧璞$殑絀洪棿鍒掑垎錛屽茍灝嗕箣鍒掑垎涓烘浜ょ殑澶氫釜絀洪棿銆備婦涓緥瀛愶細(xì)Window媧劇敓鍑篢ransparentWindow鍜孫paqueWindow錛岃繖鏄竴縐嶅垝鍒嗭紝浣嗘槸鎴戜滑鍙堝彂鐜板彟涓縐嶅垝鍒嗭紝W(xué)indowWithTitleBar涓嶹indowWithoutTitleBar錛屼粬浠兘鏄Window鐨勫垝鍒嗐傝繖鏃跺欐垜浠簲璇ユ兂鍒扮殑鏄紝W(xué)indow鍙互鎷嗗垎涓猴細(xì)ITitleBar, IMainWindow錛屽悇縐峎indow鍙互閫夋嫨瀹炵幇鎴栬呬笉瀹炵幇榪欎簺鎺ュ彛銆傚綋絎笁鑰呬嬌鐢ㄨ繖浜涘璞℃椂錛岀洿鎺ヨ闂帴鍙e嵆鍙紝鍥犱負(fù)鍏跺畠鐨勬帴鍙e彲鑳芥槸浠栦滑騫朵笉鍏沖績(jī)鐨勩傚綋瀛樺湪澶氱绱㈠紩鏃訛紝灝嗗璞℃媶鍒嗕負(fù)姝d氦鐨勭┖闂達(dá)紝姣忎竴涓┖闂村挨鍏惰嚜宸辯殑鍗曚竴绱㈠紩錛岃繖搴旇鏄璞″垝鍒嗙殑涓縐嶉氱敤鍘熷垯銆傚氨鍍忓崟鏍圭戶鎵夸竴鏍鳳紝榪欐牱浼?xì)鋴慑緱瀵硅薄鐨勫垝鍒喚l撴瀯闈炲父娓呮櫚銆?br />
瀵逛簬鏌愪簺涓嶆槸鐗瑰埆澶嶆潅鐨勬儏鍐碉紝濡傛灉瀛樺湪澶氱鍒掑垎绱㈠紩錛屼笉濡ㄧ敤鍗曚竴鐨勭被琛ㄧず鍏ㄩ儴鐨勫璞★紝瀵規(guī)煇浜涘璞★紝鏌愪簺灞炴ф柟娉曟槸鏃犳晥鐨勶紝榪欐牱瀹為檯涓婂湪綆鍗曟儏鍐典笅鏄緢鏈夋晥鐨勶紝鍥犱負(fù)榪囧害鐨勫垝鍒嗕細(xì)閫犳垚澶嶆潅鎬э紝浣跨敤鑰呭彲鑳戒笉鐭ラ亾鍦ㄥ摢涓璞′笂鎵懼埌浠栭渶瑕佺殑灞炴ф垨鏂規(guī)硶浜?jiǎn)锛寴q欏氨濂藉儚鍦ㄤ竴寮犺〃涓婅璁′簡(jiǎn)鍏ㄩ儴鐨勫睘鎬э紝灝界鏈変簺灞炴ф槸鎶佃Е鐨勶紝鏈変簺灞炴ф槸鐩稿叧鐨勩傞殢鐫涓嶆柇鐨勬墿灞曪紝榪欏紶琛ㄤ細(xì)瓚婃潵瓚婂ぇ錛岃繖灝遍渶瑕佸紑濮嬪瀵硅薄絀洪棿鍋氬垝鍒嗕簡(jiǎn)錛屾墍浠ヨ鍒板簳錛岃繕鏄竴涓渶姹傚鏉傚害鐨勯棶棰橈紝榪欓噷鏈閲嶈鐨勬槸鎺屾彙涓涓垝鍒嗙殑搴︼紝浣曟椂鍒掑垎錛屽垝鍒嗗埌浠涔堢▼搴︼紝鍐沖畾榪欎簺鐨勫線寰涓嶄粎浠呮槸鎶鏈洜绱狅紝榪樻湁鍟嗕笟涓婏紝榪愯惀涓婏紝鏃墮棿涓婏紝鎴愭湰涓婄殑鍥犵礌錛岃繖涔熸槸鏈闅懼垽鏂殑涓鐐癸紝闇瑕佸湪瀹為檯涓幓鍏蜂綋闂鍏蜂綋鍒嗘瀽錛岃繖閲屽氨鑳戒綋鐜扮粡楠岀殑閲嶈鎬т簡(jiǎn)錛屽叾瀹炲湪鏋舵瀯涓婃柟娉曢兘鏄緢Genralized鐨勶紝榪欎簺鍜屽疄鐜頒竴涓叿浣撶殑綆楁硶澶ч儴鐩稿悓錛屾墍浠ヨ璁℃ā寮忛兘鍦ㄨ妯″紡涓瀹氭湁鍏朵笂涓嬫枃錛屼篃鏄繖涓亾鐞嗗悧
鑳℃壇浜?jiǎn)寰堝锛屽厛鍒皹q欓噷鍚э紝絳夋湁鏃墮棿鍋氳繘涓姝ョ殑鏁寸悊
鏈榪戠湅鏃跺涔?fàn)Flex搴旂敤錛屽紑濮嬪Flex鍜孎lash鐨勫叧緋繪湁浜涙ā緋婏紝璇諱簡(jiǎn)Oreilly鐨凱rogramming Flex 2鎵嶇畻鏄槑鐧戒簺錛岀幇璁頒笅銆?br />
1銆丗lex搴旂敤紼嬪簭鐨勭敓鍛藉懆鏈?br />
Flex搴旂敤灝卞叾鏍規(guī)湰涓婅灝辨槸Flash搴旂敤錛屽彧涓嶈繃鍏舵槸鍩轟簬Flex Framework錛堢敱ActionScript鍐欏氨錛夊紑鍙戠殑銆侳lex搴旂敤紼嬪簭鐨勬牴瀵硅薄鐨勬槸SystemManager(涓嶆槸鎴戜滑鍦╢lex搴旂敤涓婄湅鍒扮殑Application鏍瑰厓绱?錛岀戶鎵胯嚜flash.dispaly.MovieClip鈥攆lash player display type錛孧ovieClip鏄竴縐嶆敮鎸乼imeline鍩烘湰鍏冪礌甯rame鐨勫璞★紝鍦‵lex Framework涓璖ystemManager鏄壒孌婄殑錛屽惈鏈変袱甯э紙鍏朵粬component閮芥槸涓甯х殑錛夛紝鍒嗗埆鏄痯reloader鍜岀湡姝g殑Application錛宲reloader甯у彲浠ヨ繀閫熶笅杞戒笅鏉ュ茍鐢ㄤ簬鏄劇ず搴旂敤涓嬭澆榪涘害錛屼竴鏃lex搴旂敤鐨凷ystemManager瀹炰緥榪涘叆絎簩甯э紝灝嗗垱寤篎lex涓誨簲鐢╝pplication瀹炰緥騫惰祴浜堟湰韜殑灞炴pplication錛堝湪榪涘叆絎簩甯т箣鍓嶆槸null錛夛紝鑷application錛坒lex涓誨簲鐢級(jí)鐨勫唴閮ㄧ敓鍛藉懆鏈熴佷簨浠跺紑濮嬭繍浣滐細(xì)
preinitialize錛歛pplication宸茬粡瀹炰緥鍖栦絾灝氭湭鍒涘緩浠諱綍child component
initialize錛氬凡緇忓垱寤篶hild component浣嗗鍏惰繘琛屽竷灞錛坙ay out錛?br />
creationComplete錛歛pplication宸茬粡瀹屾垚瀹炰緥鍖栧茍瀹屾垚鎵鏈塩hild component鐨勫竷灞
SystemManager鏈変竴涓猼opLevelSystemManager瀵硅薄錛屾寚鍚戜竴涓猄ystemManager瀹炰緥錛屾槸鎵鏈夊綋鍓嶅湪flash player榪愯鐨勪換浣曚笢瑗跨殑鏍癸紙root錛夛紝濡傛灉flex琚綔涓轟富搴旂敤鍔犺澆鍒癴lash player鍒欎笂榪板睘鎬у皢鎸囧悜鍏舵湰韜紙self-refrencing錛夛紝浣嗗綋flex搴旂敤鏄鍙︿竴flex搴旂敤杞藉叆鐨勶紝鍏惰嚜韜殑SystmenManager鐨則opLevelSystemManager灞炴у垯涓嶆槸鑷紩鐢ㄤ簡(jiǎn)錛岃屾槸鎸囧悜鍏剁埗搴旂敤鐨凷ystemManager瀹炰緥銆傛墍鏈塙IComponent鐨勫瓙綾婚兘鏈変竴涓猻ystemManager灞炴ф寚鍚戝簲鐢ㄧ殑SystemManager瀹炰緥錛屽湪琚玈ystemManger瀹炰緥鐩戝惉鐨刢omponent鐨勪簨浠跺彂鐢熷啋娉℃椂錛屽叾灝嗘嫢鏈変簨浠跺鐞嗛摼涓婃渶鍚庣殑澶勭悊鏉冦?/p>
2銆丗lash palyer鍜孎ramwork鐨勫尯鍒?br /> Flash player鏄疐lex搴旂敤鍜宖lash搴旂敤鐨勮繍琛岀幆澧冿紝涓ゅ簲鐢ㄥ鍏舵嫢鏈夊畬鍏ㄥ鉤絳夌殑鎿嶄綔鏉冿紙閫氳繃Flash player鎻愪緵鐨凙PI錛夛紝涓ゅ簲鐢ㄥ艦鎴愮殑.swf鏂囦歡鍦╢lash player涓槸鍚屾牱鐨勮〃鐜幫紝涓嶅悓鐨勪笉鏄簲鐢ㄧ殑鍐呭鑰屾槸鍏跺悇鑷殑鍒涘緩鏂瑰紡銆侳lex鐨凢ramework鍦ㄥ紑鍙戝拰榪愯涔嬮棿涓哄簲鐢ㄦ彁渚涗簡(jiǎn)涓灞傛娊璞★紝Flex搴旂敤緙栬瘧鏃朵細(xì)灝嗗繀瑕佺殑framwork library緙栬瘧榪?swf鏂囦歡錛堝悓鏍峰獎(jiǎng)鍝嶅簲鐢ㄦ枃浠剁殑澶у皬絳夛級(jí)錛屼富瑕佺殑flash player class褰撶劧涓嶄細(xì)琚紪璇戝埌.swf涓紝鍥犱負(fù)浠栦滑宸茬粡瀛樺湪浜巉lash player涓簡(jiǎn)錛屾渶緇堝艦鎴愪笌flash搴旂敤鍚屾牱鐨刦lash player鍙互鐞嗚В鐨勬寚浠ゃ?br /> 鍏充簬flash player class鍜宖lex framework鐨勫尯鍒嗗緢鏂逛究錛屽墠鑰呯殑class浠lash寮澶達(dá)紝濡俧lash.net.URLLoader錛岃屽悗鑰呭垯浠x寮澶達(dá)紝濡俶x.controls.Button
3銆佸姩鎬佽澆鍏ュ彟澶栫殑flex搴旂敤
<mx:SWFLoader source=”src/*.swf”/>
Swfloader鐨刢ontent灞炴ф寚鍚戣杞藉叆鐨刦lex搴旂敤鐨凷ystemManager瀹炰緥錛堝叾application灞炴ф寚鍚戣杞藉叆felx搴旂敤鐨凙pplication瀹炰緥錛夛紝swfloader鍔犺澆銆佸垵濮嬪寲琚澆鍏lex搴旂敤鏃朵細(xì)dispatch鍑篿nit浜嬩歡錛屽彲涓庡叾涓洃鍚杞藉叆flex搴旂敤鐨凷ystemManager瀹炰緥鐨凙pplicationComplete浜嬩歡錛屼簨浠跺彂鐢熸椂琚澆鍏ontent鐨凙pplication瀵硅薄鏂瑰彲浠ュ紩鐢?br />
涓巌nithandler涓璭vent.target.content.addEventListener(FlexEvent.APPLICATION_COMPLETE,func);
涓巃pplicationCompleteHandler涓璭vent.target.application.method…
4銆佺悊瑙e簲鐢ㄧ▼搴忓煙錛坅pplication domain錛?br /> 涓涓簲鐢ㄧ▼搴廳omain錛堢被浼間簬.net鐨刟ppdoamin錛変腑鏈塮lex搴旂敤鐨勭浉鍏崇被瀹氫箟銆佽祫婧愮瓑錛岃杞藉叆鐨勬柊flex搴旂敤鍙互瀛樺湪浜庝竴涓叏鏂扮殑銆侀殧紱葷殑domain涓紙鍗犻澶栫殑鍐呭瓨璧勬簮錛夈佸彲浠ュ瓨鍦ㄤ簬褰撳墠domain鐨勫瓙doamin涓紙鍏變韓鐖禿omain鐨勮祫婧愩佺被瀹氫箟錛岄』娉ㄦ剰綾誨畾涔夎鍙栦唬鐨勬儏鍐碉級(jí)銆佷篃鍙互鐩存帴瀛樺湪涓庡綋鍓峝oamin涓紙鍚屾牱欏繪敞鎰忕被瀹氫箟鍐茬獊錛夛紝濡俽untime shared library銆?br /> 浠g爜涓疄鐜拌繖涓夌鏂瑰紡鐨勫簲鐢紙涓昏搴旂敤鍒癴lash.system.LoaderContext銆乫lash.display.Loader鎴杅lash.net.URLLoader銆乫lash.system.ApplicationDomain錛?/p>
var context:LoaderContext = new LoaderContext( );
context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);//杞藉叆浣滀負(fù)瀛恉omain
context.applicationDomain = new ApplicationDomain();//杞藉叆浣滀負(fù)鍏ㄦ柊domain
context.applicationDomain = ApplicationDomain.currentDomain;//杞藉叆褰撳墠domain
var request:URLRequest = new URLRequest("RuntimeLoadingExample.swf");
var loader:Loader = new Loader( );
loader.load(request, context);
5銆佸叧浜巔reloader
Preloader鏄竴涓交閲忕駭鐨勭被錛屽湪systemManager鐨勭涓甯ц瀹炰緥鍖栵紝preloader浼?xì)dispatch鍑轟竴緋誨垪鐨勪簨浠訛紝鐢眕rogress bar鐩戝惉瀹炵幇l(fā)oading鐣岄潰錛屼竴鏃﹀簲鐢ㄨ繘鍏ョ浜屽撫寰卆pplication鍒濆鍖栧悗浼?xì)鍊熺敱system manager閫氱煡preloader鍒濆鍖栬繘搴︼紝preloader閫氱煡system manager鍏跺噯澶囧緟鍒犻櫎
Preloader鐨勪簨浠禿ispatch錛?br />
progress
Indicates download progress
complete
Indicates that the download is complete
rslError
Indicates that a runtime shared library could not load
rslProgress
Indicates the download progress for a runtime shared library
rslComplete
Indicates that the download is complete for runtime shared libraries
initProgress
Indicates that the application is initializing
initComplete
Indicates that the application has initialized
濡傛錛宲reloader鍙互瀹氬埗鍖栦簡(jiǎn)銆?br />
Over錛屾檿鍊掞紒~
鍏堟潵鐪婥apture闃舵錛?/p>
榪欎釜闃舵鏄粠鐖跺埌瀛愮殑涓涓繃紼嬶紝鍏稿瀷搴旂敤錛歮yPanel.addEventListener(MouseEvent.MOUSE_DOWN, clickHandler, true);
娉ㄦ剰絎笁涓弬鏁皍seCapture琚涓簍rue錛岃〃紺篶lickHandler鍙兂澶勭悊Capture榪囩▼鐨勪簨浠訛紝濡傛灉榪樻兂澶勭悊bubble闃舵鐨勪簨浠訛紝閭d箞蹇呴』鍐嶄互useCapture=false璋冪敤涓嬈ddEventListener
Flex Develop Guide涓湁涓鍙ヨ瘽錛歍he capturing phase is very rarely used, and it can also be computationally intensive. By contrast, bubbling is much more common.鎴戣繕?shù)笉鏄壒鍒悊瑙eQ屽厛鍐欎笅鏉ュ啀璇村惂銆?/p>
鍐嶇湅Target闃舵錛?/p>
榪欎釜寰堢畝鍗曪紝鐢盌ispatchEvent鐨勫璞$洿鎺ュ鐞嗐?/p>
鐒跺悗鏄疊ubble闃舵銆侭ubble闃舵鍙湁bubbles灞炴т負(fù)true鐨凟vent鎵嶄細(xì)鏈夎繖涓繃紼嬶紝鍖呮嫭change
, click
, doubleClick
, keyDown
, keyUp
, mouseDown
, and mouseUp絳変簨浠躲傚浜庤嚜瀹氫箟浜嬩歡錛宐ubbles鑳藉惁璁炬垚true榪樻湭鐭ワ紝鍥犱負(fù)瀹冧技涔庢槸鍙鐨勶紝榪樻湁寰呴獙璇併?/code>