Форум 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)
-   -   Обращение в рут из функции (http://www.flasher.ru/forum/showthread.php?t=130832)

true11 06.10.2009 17:45

Обращение в рут из функции
 
При обращении в рут из функции, а именно массив _root.previewAssoc не работает! :(
Почему такое может быть?

Код AS1/AS2:

function generateTablePreviews(rows, cols) {
        phNum = 0; // номера фотографий
        mcNum = 0; // номера клипов
        for (i=0; i<rows; i++) {
                ypos = (90+5)*i+8;
                for (j=0; j<cols; j++) {
                        xpos = (90+5)*j+8;
                        this.attachMovie("previewsThumb","photo"+mcNum,this.getNextHighestDepth(),{_x:xpos, _y:ypos});
                        this.attachMovie("loadClip","pre_photo"+mcNum,this.getNextHighestDepth(),{_x:xpos+45, _y:ypos+45});
                        _root.previewAssoc[mcNum]=1;
                        trace('mc:'+mcNum+' ph:'+phNum);
                        this.my_mcl.loadClip('http://'+_root.usrServer+"/photos/small/"+phNum+".jpg",this["photo"+mcNum]);
                        mcNum++;
                        if(_root.photos[(phNum+1)]){phNum++;}else{phNum = 0;}
                }
        }
        trace(_root.previewAssoc);
}


woland24 06.10.2009 17:49

ну например если данная флешка(та в которой массив) вызывается из другой, то рутом будет та из которой вызывается. Если это так то попробуй вместо _root использовать module

Добавлено через 42 секунды
или попробуй использовать относительный путь с помощью _parent

true11 06.10.2009 17:54

_parent тоже не работает, пробовал. Странно, обычно всегда статичные переменные загружаю в функцию именно так.

module? что это такое и где про это можно почитать? :)
P.S. тут вопрос стоит даже не совсем как сделать, а именно почему не работает.. не понимаю(

Перед вызовом функции объявляю так:
Код AS1/AS2:

var previewAssoc:Array;

P.S. Разобрался. Проблема была именно в объявлении массива.
Правильно было так:
Код AS1/AS2:

var previewAssoc = new Array()

Блин... 2 часа времени впустую((

woland24 06.10.2009 17:57

погугли) А что вообще код делает и какова структура флешки?


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

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