ActionScript 2.0 динамическое сглаживание - PullRequest
0 голосов
/ 19 ноября 2011

Я пытаюсь сделать сглаживание для изображений, которые загружены с loadclip().
Я нашел функцию сглаживания, и она работает, но только для видеороликов, расположенных в _level0, например _level0.mc, но я хочусгладьте детский MC, например _level0.parent_mc.children_mc, а затем изображение просто исчезнет.

функция сглаживания:

here = this; // trace(here) == _level0
bg_smooth = function (bg):Void {
    var bg_depth:Number = bg.getDepth();
    var bg_name:String = bg._name; 
    var bg_parent = bg._parent;
    var bg_bitmap_temp:BitmapData = new BitmapData(bg._width, bg._height, true, 0x00FFFFFF);
    bg_bitmap_temp.draw(bg);
    removeMovieClip(bg);
    bg_parent.createEmptyMovieClip(bg_name,bg_depth);
    here[bg_name].bitmapObj = bg_bitmap_temp.clone();
    bg_bitmap_temp.dispose();
    here[bg_name].attachBitmap(here[bg_name].bitmapObj,1,"auto",true);
};

другой код:

var loader:MovieClipLoader = new MovieClipLoader();
var mclL:Object = new Object(); 
mclL.onLoadProgress = function(target, loadedBytes, totalBytes) { 
 //trace(Math.round((loadedBytes / totalBytes) * 100) + "%"); 
}; 
loader.addListener(mclL);    
mclL.onLoadInit = function(element) { 
    bg_smooth(element); // trace(element) == _level0.mc or _level0.parent_mc.children_mc
};

loader.loadClip("img/image.jpg", mc); // <= works
//loader.loadClip("img/image.jpg", parent_mc.children_mc); // <= not works

также пытался написать _level0.parent_mc['children_mc'] вместо parent_mc.children_mc и сделать here == _level0.parent_mc - ещенеудачно.Если я удаляю bg_smooth(element) при завершении загрузки, то все работает нормально, но, конечно, сглаживание отключено.

1 Ответ

1 голос
/ 21 ноября 2011

Я нашел другую рабочую функцию. Может быть полезным для кого-то еще.

function applySmoothing(target:MovieClip) {
    var mcParent:MovieClip = target._parent;
    var mcName:String = target._name;
    var myBitmap:BitmapData = new BitmapData(target._width, target._height);
    myBitmap.draw(target);
    target.removeMovieClip();
    target.attachBitmap(myBitmap, 1, "auto", true);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...