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;

  • 相关阅读:
    aes加密
    获取当前系统的版本号
    解决eclipse中出现Resource is out of sync with the file system问题
    Mac系统打开命令行终端及查看操作系统版本号的方法
    android短信拦截
    android权限大全
    mac系统下的常用命令
    android 中 系统日期时间的获取
    ubuntu tor浏览器
    Python中的random模块
  • 原文地址:https://www.cnblogs.com/crkay/p/1747958.html
Copyright © 2011-2022 走看看