flash - 参数错误 : Error #2015: Invalid BitmapData

标签 flash actionscript-3 actionscript flash-cs4

我在加载位图数据时遇到问题。我收到以下错误

Engine Init //trace
loadimage//trace
ArgumentError: Error #2015: Invalid BitmapData.
    at flash.display::BitmapData()

下面是我的代码。看起来它发生在跟踪加载图像之后

package com.objects {

    import flash.display.Sprite;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.display.Loader;
    import flash.net.URLRequest;
    import flash.net.*;
    import flash.events.*;
    import flash.display.LoaderInfo;

    public class gameObject extends Sprite {

        protected var w:Number;
        protected var h:Number;
        protected var image:BitmapData;
        protected var canvas:Bitmap;
        protected var px:Number;
        protected var py:Number;

        public function gameObject():void
        {
            init();
        }

        private function init():void
        {

        }

        public function loadImage(imageDir:String, w:Number, h:Number, px:Number, py:Number):void
        {
            this.w = w;
            this.y = y;
            this.px = px;
            this.py = py;

            trace("loadimage");
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,imageComplete);
            loader.load(new URLRequest(imageDir));
        }

         private function imageComplete(e:Event):void {
            var loader:LoaderInfo = LoaderInfo(e.target);

            image = Bitmap(loader.content).bitmapData;
            drawImage();
         }

         private function drawImage():void
         {
            var tilePoint:Point = new Point(0,0);
            var tileRect = new Rectangle(py,px,w,h);
            trace(loader.content);
            var canvasData:BitmapData = new BitmapData(w,h);
            trace("got canvas data");
            canvasData.copyPixels(image,tileRect,tilePoint);
            trace("copied pixels");
            canvas = new Bitmap(canvasData);
         }
    }
}

我调用的方法是这样的

balls = new Array();
            balls[0] = new gameObject();
            balls[0].loadImage("com/images/ball.gif", 15,15,0,0);

当我跟踪 Loader.content 时,下面是显示内容

Engine Init
loadimage
[object Bitmap]
ArgumentError: Error #2015: Invalid BitmapData.
    at flash.display::BitmapData()

最佳答案

Flash Player 9 仅支持 2880 像素的宽度和高度。

关于flash - 参数错误 : Error #2015: Invalid BitmapData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2033792/

相关文章:

apache-flex - Chrome Flash Player (Pepper) 日期 timezoneOffset 错误

ruby-on-rails - Rails 3.1 - 嵌入 flash.swf 文件 - 最佳实践?

ios - 在我的AIR应用(IOS)中为准备好的youtube视频违反安全沙箱的行为

javascript - Flash 和 Javascript 中的动画闪烁/抖动/卡顿

html - HTML 元素可以具有与其 [id] 相同的 [name] 吗?

Flash 源代码控制 - 最佳实践

actionscript-3 - Actionscript 徒手绘图类不起作用

flash - 如何使用 URLRequest 发送自定义 header

algorithm - 从数字数组中获取最小值或最大值的最佳方法是什么?

android - 如何将启动图像添加到 adobe air for android 应用程序?