
Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;
/**
* ...
* @author
*/
public class Main extends Sprite
{
public function Main():void
{
this.draw();
}
/**
* Отрисовка объектов
*/
public function draw():void {
this._drawText();
this._drawButton();
}
/**
* Рисует текстовое поле
*/
private function _drawText():void {
var _text:TextField = new TextField();
_text.text = _text.name;
this.addChild(_text);
}
/**
* Рисует кнопку
*/
private function _drawButton():void {
var _button:Sprite = new Sprite();
_button.graphics.clear();
_button.graphics.beginFill(0xff0000, 1)
_button.graphics.drawRect(0, 0, 100, 20);
_button.addEventListener(MouseEvent.CLICK, this._onClick);
_button.x = 200;
_button.y = 200;
this.addChild(_button);
}
/**
* Клик по кнопке - удаление объектов и их отрисовка заново
* @param event
*/
private function _onClick(event:Event):void {
while (this.numChildren) {
this.getChildAt(0).removeEventListener(MouseEvent.CLICK, this._onClick);
this.removeChildAt(0);
}
this.draw();
}
}
}
Код рисует тектовое поле и спрайт с событием КЛИК по которому удаляет все объекты и рисует их заново.
Но требуемый объем памяти увеличивается. Почему? От событий отписался.