FlashMX2004鏂扮壒鎬у疄渚嬪涔犱簩
鍙戝竷: 2008-7-01 16:57 | 浣滆: admin | 鏌ョ湅: 4娆
瀹炰緥涓夈丆ustomizing Context Menu 銆銆 涓銆佹秹鍙婄壒鎬 銆銆杩欎釜瀹炰緥鍙嶆槧浜咶lash MX 2004鍦ㄧ紪绋嬫柟闈㈢殑閲嶅ぇ鏀硅繘銆傚叾涓寘鎷簡as鏂囦欢鐨勫簲鐢紝绯荤粺鐨刜global.$clipboard鍙橀噺鐨勪娇鐢紝ContextMenu(menufun) 鍑芥暟鐨勮皟鐢紝ContextMenuItem()鍑芥暟鐨勮皟鐢紝宸茬粡MovieClip.prototype.menu鍙橀噺鐨勪娇鐢ㄣ傞氳繃杩欏嚑涓嚱鏁板拰鍙橀噺鐨勬搷浣滐紝灏卞彲浠ヨ交鏉惧湴鎿嶄綔Flash Player涓殑鑿滃崟浜嗐 銆銆 浜屻佸埗浣滆繃绋 銆銆1銆佹柊寤轰竴涓狝ction Script File锛屽懡鍚嶄负鈥淐lipBoard.as鈥濓紝鍐呭濡備笅锛 /* Copyright 2003 Macromedia, Inc. All rights reserved. The following is Sample Code and is subject to all restrictions on such code as contained in the End User License Agreement accompanying this product. */ class ClipBoard extends Object{ //娉ㄩ噴1 static var $contents:Object; //娉ㄩ噴2 static var $operation:String; //娉ㄩ噴3 function ClipBoard() {} //娉ㄩ噴4 static public function cut(obj) { //娉ㄩ噴5 obj._alpha = 50; //娉ㄩ噴6 $contents = obj; //娉ㄩ噴7 $operation = cut; //娉ㄩ噴8 } static public function copy(obj) { //娉ㄩ噴9 $contents = obj; $operation = copy; } static public function paste() { //娉ㄩ噴10 if ($operation == cut) { //娉ㄩ噴11 $contents._x = _root._xmouse; //娉ㄩ噴12 $contents._y = _root._ymouse; $contents._alpha = 100; //娉ㄩ噴13 $contents = undefined; //娉ㄩ噴14 $operation = ; //娉ㄩ噴15 } else if ($operation == copy) { //娉ㄩ噴16 var newdepth = $contents._parent.getNextHighestDepth(); //娉ㄩ噴17 var newname = $contents._name + newdepth; //娉ㄩ噴18 $contents.duplicateMovieClip(newname, newdepth); //娉ㄩ噴19 $contents._parent[newname]._x = _root._xmouse; //娉ㄩ噴20 $contents._parent[newname]._y = _root._ymouse; $contents._alpha = 100; $contents._parent[newname]._alpha = 100; } else { return; //娉ㄩ噴21 } } public function isEmpty():Boolean { //娉ㄩ噴22 if ($contents != undefined) { //娉ㄩ噴23 return false; } else { return true; } } public function handleMenuCommand(obj, item):Void { //娉ㄩ噴24 switch (item.caption) { //娉ㄩ噴25 case Cut object: //娉ㄩ噴26 cut(obj); break; case Copy object: //娉ㄩ噴27 copy(obj); break; case Paste object: //娉ㄩ噴28 paste(); break; } } } 銆銆鏈疄渚嬫湁姣旇緝澶氱殑缂栫▼鐭ヨ瘑锛屽垰鎺ヨЕ浼氭湁鏃犱粠涓嬫墜鐨勬劅瑙夛紝涓嬮潰鏉ヨ缁嗚瑙d竴涓嬫秹鍙婄殑涓滆タ銆 銆銆娉ㄩ噴1锛歝lass鐨勬剰鎬濇槸瀹氫箟涓涓被锛宔xtends鏄〃绀烘墍瀹氫箟鐨勭被鐨勫熀绫绘槸Object銆傝繖涓秹鍙婂埌缂栫▼鐨勯潰鍚戝璞★紝鍙兘姣旇緝闅炬噦锛屽彲浠ユ妸Object鐪嬫垚鏄墍瀹氫箟鐨勭被鐨勭埗绫伙紝鐖剁被鍏锋湁鐨勬柟娉曞拰灞炴э紝鍦ㄥ瓙绫讳腑閮芥槸鏈夌殑銆 銆銆娉ㄩ噴2锛氬畾涔変竴涓彉閲廲ontents锛岀被鍨嬩负Object銆侳lash MX 2004涓兘鏄繖鏍峰畾涔夊彉閲忕殑銆傚湪姝ゅ瀹氫箟鐨勫彉閲忥紝鍦ㄦ暣涓被涓兘鏄彲浠ョ敤鐨勩 銆銆娉ㄩ噴3锛氬畾涔変竴涓彉閲弌peration锛岀被鍨嬩负String銆 銆銆娉ㄩ噴4锛氳繖鏄被鐨勬瀯閫犲嚱鏁帮紝鎵璋撶殑鏋勯犲嚱鏁板氨鏄綋瀹炰緥鍖栬繖涓被鐨勬椂鍊欐墍璋冪敤鐨勫嚱鏁般傛瘮濡傛湰绫荤殑瀹炰緥鍖栧彲浠ユ槸杩欐牱鐨勶細ClipBoard cb = new ClipBoard(); 銆銆娉ㄩ噴5锛氬畾涔変竴涓猚ut鍑芥暟锛屼紶鍏ョ殑鍙傛暟鏄痮bj锛屽畠鐨勮皟鐢ㄨ寖鍥存槸public锛屼篃鍗虫槸浠讳綍绫婚兘鍙互璋冪敤銆 銆銆娉ㄩ噴6锛氳缃紶鍏ョ殑obj鐨刟lpha灞炴т负50銆 銆銆娉ㄩ噴7锛氳缃敞閲2涓墍瀹氫箟鐨勫彉閲忕殑鍊间负obj銆 銆銆娉ㄩ噴8锛氳缃敞閲3鎵瀹氫箟鐨勫彉閲忕殑鍊间负鈥渃ut鈥濄 銆銆娉ㄩ噴9锛氬畾涔変竴涓猚opy鍑芥暟锛屼紶鍏ョ殑鍙傛暟鏄痮bj锛岃皟鐢ㄨ寖鍥存槸public銆 銆銆娉ㄩ噴10锛氬畾涔変竴涓猵aste鍑芥暟锛屾病鏈変紶鍏ョ殑鍙傛暟锛岃皟鐢ㄨ寖鍥存槸public銆 銆銆娉ㄩ噴11锛氬垽鏂墍瀹氫箟鐨刼peration鐨勫兼槸鍚︿负鈥渃ut鈥濄 銆銆娉ㄩ噴12锛氳缃甤ontents鐨剎y鍧愭爣涓洪紶鏍囩殑xy鍧愭爣銆 銆銆 銆銆娉ㄩ噴13锛氳缃甤ontents鐨刟lpha涓100銆 銆銆娉ㄩ噴14锛氬埄鐢ㄥ畬contents鐨勫煎悗锛屽皢contents鐨勫奸噸鏂拌缃负undefined銆 銆銆娉ㄩ噴15锛氬皢operation鐨勫兼竻绌恒 銆銆娉ㄩ噴16锛氬垽鏂墍瀹氫箟鐨刼peration鐨勫兼槸鍚︿负鈥渃opy鈥濄 銆銆娉ㄩ噴17锛氬畾涔変竴涓彉閲弉ewdepth锛岃缃畠鐨勫间负绫讳腑鎵瀹氫箟鐨刢ontents鐨勬繁搴︺ 銆銆娉ㄩ噴18锛氬畾涔変竴涓彉閲弉ewname锛岃缃畠鐨勫间负contents鐨勫疄渚嬪悕鍔犱笂鎵鍦ㄧ殑娣卞害銆 銆銆娉ㄩ噴19锛氬鍒朵竴涓狹ovie Clip锛屽弬鏁版槸newdepth鍜宯ewname銆傝繖灏卞疄鐜颁簡澶嶅埗鐨勫姛鑳姐 銆銆娉ㄩ噴20锛氳缃墍澶嶅埗鐨凪ovie Clip鐨勪綅缃窡aplha銆 銆銆娉ㄩ噴21锛氬鏋渙peration涓嶆槸鈥渃ut鈥濅篃涓嶆槸鈥渃opy鈥濈殑璇濓紝鐩存帴杩斿洖銆 銆銆娉ㄩ噴22锛氬畾涔変竴涓嚱鏁癷sEmpty()锛岃繑鍥炵殑绫诲瀷涓築oolean锛岃皟鐢ㄧ殑鑼冨洿涓簆ublic銆 銆銆娉ㄩ噴23锛氭牴鎹甤ontents鐨勫煎仛鐩稿簲鐨勬搷浣溿 銆銆娉ㄩ噴24锛氬畾涔変竴涓嚱鏁癶andleMenuCommand锛岃繑鍥炰负绌猴紝璋冪敤鑼冨洿鏄痯ublic銆 銆銆娉ㄩ噴25锛氭牴鎹弬鏁癷tem鐨刢aption鏉ュ仛鐩




发表于 2009-1-5 19:48
| 











