Растровые данные AS3 в следующем кадре();

не кодер, поэтому немного борюсь здесь:

Попытка отрисовать текущий кадр в следующем кадре в виде растрового изображения для повышения эффективности процессора. В AS2 этот код работает как шарм:

import flash.display.*;
// # create the bitmap
var tBitmapData = new BitmapData(400, 200, true, 0x00000000);

// # now draw this movieClip's content to the bitmap
tBitmapData.draw(this);
// # 2nd frame should be blank!
nextFrame();
// # now attach the bitmap you made to this movieclip
this.attachBitmap(tBitmapData, 1, "auto", true);

Просто нужно знать, как переписать это для AS3. Спасибо!


person Chris Gardner    schedule 21.11.2012    source источник
comment
если вопрос замены строки attachBitmap что-то вроде: addChild(new Bitmap(tBitmapData));   -  person George Profenza    schedule 22.11.2012


Ответы (1)


Во-первых, в AS3 BitmapData не DisplayObject. Вам нужно обернуть его в Bitmap объект. Затем вы заменяете attachBitmap на addChild, как упомянул Джордж Профенза:

import flash.display.*;
// # create the bitmap
var tBitmapData:BitmapData = new BitmapData(400, 200, true, 0x000000);

// # now draw this movieClip's content to the bitmap
tBitmapData.draw(this);
// # 2nd frame should be blank!
nextFrame();
// # now attach the bitmap you made to this movieclip
this.addChild(new Bitmap(tBitmapData));

Также попробуйте ввести свои переменные (var tBitmapData:BitmapData). Это повышает производительность и позволяет компилятору обнаруживать некоторые ошибки.

person BoppreH    schedule 21.11.2012