Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   CPicker и его слушатели (http://www.flasher.ru/forum/showthread.php?t=123544)

maxi_2704 03.04.2009 23:21

CPicker и его слушатели
 
Вложений: 1
Доброго времени суток. Застрял на выборе цвета, нужно, чтобы цвет менял кликнутый мувик, но вот проблемка вместе с новым кликнутым новый цвет приобретает и предыдущий кликнутый мувик. Исходник прилагается.

iNils 05.04.2009 04:03

От не отписывались от слушателя.
Код AS1/AS2:

var oldTarget:MovieClip;
for (var i:Number = 0; i < 5; i++) {
        currentImage = container.createEmptyMovieClip ("imagenail" + i, container.getNextHighestDepth ());
        //container.i = i;
        var h = 150;
        var w_num = 5;
        var spacing = 5;
        var w_1 = 75;
        //for (i = 0; i < myClips.length; i++){
        myClip = currentImage;
        myClip._x = (i % w_num) * w_1;
        myClip._y = Math.floor (i / w_num) * (h + spacing);
 
        var image_mcl:MovieClipLoader = new MovieClipLoader ();
        image_mcl.addListener (this);
        image_mcl.loadClip ("n17.swf",currentImage);
}
function onLoadInit (target_mc:MovieClip) {
        target_mc.onPress = press;
        target_mc.change = change;
}
 
function press () {
        if (oldTarget) {
                cpicker.removeListener (oldTarget);
        }
        cpicker.addListener (this);
        oldTarget = this;
}
function change (evt:Object) {
        new Color (this).setRGB (evt.color);
}

И не используйте вложенные функции, в памяти хранится каждая копия, вместо одной.

maxi_2704 05.04.2009 16:11

Спасибо большое iNils, очень выручили)


Часовой пояс GMT +4, время: 13:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.