Форум 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)
-   -   Не работает праильно обработчик события onRelease (http://www.flasher.ru/forum/showthread.php?t=117129)

NeverSummer 19.10.2008 21:58

Не работает праильно обработчик события onRelease
 
Посоветуйте плиз! – не работает как надо onRelease – иконки (thumb) рисуются, но при нажатии на иконку показывается только последняя картинка (pic_name_arr[j]) – т.е непонятно почему не верно работает обработчик onRelease… Как я понимю я формирую массив объектов MovieClip и каждому элементу массива присвоен свой обработчик события onRelease. Т.е при событии onRelease над каждым конкретным thumb должна вызываться определенная функция обработчик и показыватся соответствующая картинка pic_name_arr[j] но показывается только самая последняя. Не понимаю почему - плиз хелп.


Код:

//Constants
IMAGE_DIRECTORY        = "./img/";
X_FIRST_THUMB        = 520;
Y_FIRST_THUMB        = 294;
SPAN_BETWEEN_THUMBS = 4;
THUMB_WIDTH                = 35;

var main_pic_mc:MovieClip = createEmptyMovieClip("main_pic_mc", getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);

var thumb_arr_mc:Array        = new Array(NUMBER_OF_PICTURES);

var pic_name_arr:Array = new Array( 'flash_main_page_pic_01.jpg',                                                                          'flash_main_page_pic_02.jpg',                                                                          'flash_main_page_pic_03.jpg',                                                                          'flash_main_page_pic_04.jpg',                                                                          'flash_main_page_pic_05.jpg',                                                                          'flash_main_page_pic_06.jpg'  );

var thumb_name_arr:Array = new Array( 'flash_main_page_thumb_01.jpg',                                                                          'flash_main_page_thumb_02.jpg',                                                                          'flash_main_page_thumb_03.jpg',                                                                          'flash_main_page_thumb_04.jpg',                                                                          'flash_main_page_thumb_05.jpg',                                                                          'flash_main_page_thumb_06.jpg' );


///////////////////////////////////////////////////////////////////////////////////////
//
function MakeMenu( pic_num:Number )
{
        var j:Number = 0;
        var k:Number = -1;
        for(i = 0; i < pic_name_arr.length; i++)
        {
                k++;
                if(i == pic_num)
                        { j++; k--; continue; }
                if(j > pic_name_arr.length)
                        j = 0;
                       
                        thumb_arr_mc[k] = this.createEmptyMovieClip("thumb_name_container_" + j, getNextHighestDepth());
                        thumb_arr_mc[k]._x = X_FIRST_THUMB + (SPAN_BETWEEN_THUMBS * k) + (k * THUMB_WIDTH);
                        thumb_arr_mc[k]._y = Y_FIRST_THUMB;
                       
                        thumb_arr_mc[k].createEmptyMovieClip("jpeg_container", 0);
                        thumb_arr_mc[k].jpeg_container.loadMovie(IMAGE_DIRECTORY+thumb_name_arr[j]);
                                       
                        var strTemp:String = IMAGE_DIRECTORY+pic_name_arr[j];
                       
                        thumb_arr_mc[k].onRelease = function()
                        {
                            mcLoader.loadClip( strTemp, main_pic_mc );
                        }
                        j++;
        } //for
}


MakeMenu();


darksranger 19.10.2008 22:11

Код:

//Constants
 IMAGE_DIRECTORY        = "./img/";
 X_FIRST_THUMB        = 520;
 Y_FIRST_THUMB        = 294;
 SPAN_BETWEEN_THUMBS = 4;
 THUMB_WIDTH                = 35;
 
 var main_pic_mc:MovieClip = createEmptyMovieClip("main_pic_mc", getNextHighestDepth());
 var mcLoader:MovieClipLoader = new MovieClipLoader();
 mcLoader.addListener(this);
 
 var thumb_arr_mc:Array        = new Array(NUMBER_OF_PICTURES);
 
 var pic_name_arr:Array = new Array( 'flash_main_page_pic_01.jpg',                                                                          'flash_main_page_pic_02.jpg',                                                                          'flash_main_page_pic_03.jpg',                                                                          'flash_main_page_pic_04.jpg',                                                                          'flash_main_page_pic_05.jpg',                                                                          'flash_main_page_pic_06.jpg'  );
 
 var thumb_name_arr:Array = new Array( 'flash_main_page_thumb_01.jpg',                                                                          'flash_main_page_thumb_02.jpg',                                                                          'flash_main_page_thumb_03.jpg',                                                                          'flash_main_page_thumb_04.jpg',                                                                          'flash_main_page_thumb_05.jpg',                                                                          'flash_main_page_thumb_06.jpg' );
 
 
 ///////////////////////////////////////////////////////////////////////////////////////
 //
 function MakeMenu( pic_num:Number )
 {
        var j:Number = 0;
        var k:Number = -1;
        for(i = 0; i < pic_name_arr.length; i++)
        {
                k++;
                if(i == pic_num)
                        { j++; k--; continue; }
                if(j > pic_name_arr.length)
                        j = 0;
                       
                        thumb_arr_mc[k] = this.createEmptyMovieClip("thumb_name_container_" + j, getNextHighestDepth());
                        thumb_arr_mc[k]._x = X_FIRST_THUMB + (SPAN_BETWEEN_THUMBS * k) + (k * THUMB_WIDTH);
                        thumb_arr_mc[k]._y = Y_FIRST_THUMB;
                       
                        thumb_arr_mc[k].createEmptyMovieClip("jpeg_container", 0);
                        thumb_arr_mc[k].jpeg_container.loadMovie(IMAGE_DIRECTORY+thumb_name_arr[j]);
                                       
                        var strTemp:String = IMAGE_DIRECTORY+pic_name_arr[j];
                        thumb_arr_mc[k].strTemp = strTemp
                        thumb_arr_mc[k].onRelease = function()
                        {
                            mcLoader.loadClip( this.strTemp, main_pic_mc );
                        }

                        j++;
        } //for
 }
 
 
 MakeMenu();


NeverSummer 19.10.2008 22:16

Большое спасибо!!!!! Все заработало - только никак не пойму - в чем была ошибка? Ой ладно - попробую разобртс я сам. Спасибо еще раз.


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

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