1

在我的课堂上,如果我bitmapData这样创建:

private var tImage:BitmapData;


public function object():void {
        tImage = new BitmapData(30,30,false,0x000000);
}

我收到以下错误:

ArgumentError: Error #2015: Invalid BitmapData.

但是,如果我在方法中声明变量:

public function object():void {
    var tImage:BitmapData;
    tImage = new BitmapData(30,30,false,0x000000);
}

它工作正常。为什么!?!?!这让我疯狂。

多谢你们!

4

2 回答 2

0

我认为这可能是您班级中的其他代码。

以下有效,但我没有将函数命名为“对象”(因为我猜这是保留字??)

package
{
/**
* ...
* @author your name here
*/
  import flash.display.MovieClip;
  import flash.events.Event;
  import flash.display.Bitmap;

  public class TestBitmap extends MovieClip
  {

    private var tImage:BitmapData;

    public function TestBitmap():void
    {
      if (stage) init();
      else addEventListener(Event.ADDED_TO_STAGE, init);
    }

    private function init(e:Event = null):void 
    {
            tImage = new BitmapData(30,30,false,0x000000);
    }
  }
}

下面这个简化版本也适用:

package
{
/**
* ...
* @author your name here
*/
  import flash.display.MovieClip;
  import flash.events.Event;
  import flash.display.Bitmap;

  public class TestBitmap extends MovieClip
  {

    private var tImage:BitmapData;

    public function TestBitmap():void
    {
     tImage = new BitmapData(30,30,false,0x000000);
    }


  }
}
于 2009-12-31T19:50:23.217 回答
-1

您将 tImage 声明为私有...

private var tImage:BitmapData;


public function object():void {
        tImage = new BitmapData(30,30,false,0x000000);
}

它应该是

var tImage:BitmapData;


public function object():void {
        tImage = new BitmapData(30,30,false,0x000000);
}

德普

于 2011-02-21T21:42:58.983 回答