zoukankan      html  css  js  c++  java
  • loader的右键菜单不响应

    2010-04-06 18:39

    代码
    1 package
    2 {
    3  import com.zs.components.AbstractHumanFactory;
    4  import com.zs.components.PersonFactory;
    5
    6 import fl.controls.Button;
    7 import fl.controls.ComboBox;
    8 import fl.controls.ScrollBar;
    9
    10 import flash.display.Loader;
    11 import flash.display.LoaderInfo;
    12 import flash.display.Sprite;
    13 import flash.display.StageAlign;
    14 import flash.display.StageQuality;
    15 import flash.display.StageScaleMode;
    16 import flash.events.ContextMenuEvent;
    17 import flash.events.Event;
    18 import flash.events.KeyboardEvent;
    19 import flash.net.URLRequest;
    20 import flash.ui.ContextMenu;
    21 import flash.ui.ContextMenuItem;
    22
    23 public class FactoryMethod extends Sprite
    24 {
    25 private var loader:Loader;
    26
    27 public function FactoryMethod()
    28 {
    29 stage.scaleMode = StageScaleMode.NO_SCALE;
    30 stage.quality = StageQuality.HIGH;
    31 stage.align = StageAlign.TOP_LEFT;
    32
    33 var loader:Loader = new Loader();
    34
    35 loader.load(new URLRequest("http://showpic.51.com/CBME_Resource/51/20080514/other/200805141130322.swf"));
    36
    37 loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
    38
    39 }
    40
    41 private function onComplete(e:Event):void
    42 {
    43 var loader:Loader = (e.target as LoaderInfo).loader;
    44
    45 var item1:ContextMenuItem = new ContextMenuItem("上移一层");
    46 item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,moveUp);
    47 var item2:ContextMenuItem = new ContextMenuItem("下移一层");
    48 item2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,moveDown);
    49 var item3:ContextMenuItem = new ContextMenuItem("删除场景",true);
    50 item3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,removeSence);
    51 var menu:ContextMenu = new ContextMenu();
    52 menu.customItems = [item1,item2,item3];
    53 menu.hideBuiltInItems();
    54 loader.contextMenu = menu;
    55 addChild(loader);
    56 }
    57
    58
    59 private function moveUp(e:ContextMenuEvent):void
    60 {
    61 trace("--上移一层--");
    62
    63 }
    64
    65 private function moveDown(e:ContextMenuEvent):void
    66 {
    67 trace("--下移一层--");
    68
    69 }
    70
    71 private function removeSence(e:ContextMenuEvent):void
    72 {
    73 trace("--删除--");
    74 }
    75
    76
    77 }
    78 }
    79
    80

    如题给loader进来的swf素材加了右键菜单,奇怪的是右键菜单可以显示,但是里面的命令却很少能响应。(用来测试的素材是avm1的,不知道是不是这个影响的)

    解决办法:

    1.在loader来的swf上加了个透明的层,然后把右键都注册到该透明层上。

    2.把swf放到容器中,然后给swf加上mouseChildren=false;

  • 相关阅读:
    leetcode 78. 子集 JAVA
    leetcode 91. 解码方法 JAVA
    leetcode 75. 颜色分类 JAVA
    leetcode 74 搜索二维矩阵 java
    leetcode 84. 柱状图中最大的矩形 JAVA
    last occurance
    first occurance
    classical binary search
    LC.234.Palindrome Linked List
    LC.142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/crkay/p/1747958.html
Copyright © 2011-2022 走看看