flash 游戏设计笔记:递归清除bitmapData

    技术2025-05-03  25

    public static function proceesChild(container : DisplayObjectContainer) : void { if (container == null) { return; } var length : uint = container.numChildren; for (var i : int = 0;i < length;i++) { if (container.getChildAt(i) is DisplayObjectContainer) { var displayObjectContainer : DisplayObjectContainer = container.getChildAt(i) as DisplayObjectContainer; proceesChild(displayObjectContainer); displayObjectContainer = null; } else if (container.getChildAt(i) is Bitmap) { var bm : Bitmap = container.getChildAt(i) as Bitmap; if (bm.bitmapData) { bm.bitmapData.dispose(); bm = null; } } else if (container.getChildAt(i) is DisplayObject) { var displayObject : DisplayObject = container.getChildAt(i) as DisplayObject; displayObject = null; } } SpriteUtil.clearSprite(container); } public static function clearSprite(v : DisplayObjectContainer) : void { if (v == null) return; var obj : DisplayObject; while (v.numChildren > 0) { obj = v.getChildAt(0); v.removeChild(obj); obj = null; } }

    最新回复(0)