【问题标题】:ActionScript BitmapData Built-in To Bitmaps?位图内置的 ActionScript BitmapData?
【发布时间】:2010-05-25 22:07:31
【问题描述】:

我使用 Loader 和 URLRequest 从 Internet 下载 .png 并将其添加到我的显示列表中。既然它已经是位图,它是否已经内置了位图数据?还是我必须自己创建位图数据?

另外,为什么相同的跟踪语句在 mouseMoveHandler 中在 displayImage 函数中输出 true 时返回 false?

    var imageLoader:Loader = new Loader();
    imageLoader.load(new URLRequest("http://somewebsite.com/image.png"));
    imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, displayImage);

    function displayImage(evt:Event):void
     {
     addChild(evt.target.content);
     addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);

     trace(evt.target.content is Bitmap);  //outputs 'true'
     }

   function mouseMoveHandler(evt:MouseEvent):void
     {
     trace(evt.target.content is Bitmap);  //outputs 'false'
     }

【问题讨论】:

    标签: actionscript-3 bitmap bitmapdata


    【解决方案1】:

    快速搜索 AS3 文档告诉我Bitmap has a bitmapData property

    您在每个跟踪中都会得到不同的结果,因为您正在跟踪不同的事物。尝试只跟踪属性而不是“是位图”,以查看实际存储在那里的内容。

    您的第一个跟踪是跟踪事件,第二个跟踪是 MouseEvent。您的 displayImage 函数是“加载程序完成处理程序”,因此目标将是 LoaderInfo object。在 LoaderInfo 对象中,target 指的是“与此 LoaderInfo 对象关联的已加载 DisplayObject”。但是在 MouseEvent 中,目标会有所不同。您需要参考docs for each event 以了解目标是什么。

    另外,我认为您需要将鼠标移动事件侦听器添加到舞台,否则它将无法工作,例如

    stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
    

    【讨论】:

    • ouf。这是一个非常愚蠢的问题。我责怪炎热。 ;)
    猜你喜欢
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 2011-09-03
    • 1970-01-01
    相关资源
    最近更新 更多