#2015: Недопустимые BitmapData

В моем классе, если я создам 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);
}

Это работает нормально. ЗАЧЕМ!?!?! Это сводит меня с ума.

Спасибо, парни!


person numerical25    schedule 31.12.2009    source источник
comment
Я бы сказал, что здесь происходит что-то еще, ошибка может быть не в коде, которым вы делитесь. Что это сидит внутри, можете ли вы поделиться большей картиной?   -  person Tyler Egeto    schedule 31.12.2009


Ответы (2)


Я думаю, что это может быть какой-то другой код в вашем классе.

Следующее работает, но я не назвал функцию «объект» (поскольку я предполагаю, что это зарезервированное слово??)

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);
    }


  }
}
person redconservatory    schedule 31.12.2009

Вы объявили 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);
}

Дерп

person Sadorath    schedule 21.02.2011