Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   динамическое значение кнопок через цыкл - нужна ваша помощь (http://www.flasher.ru/forum/showthread.php?t=57640)

ader 28.04.2004 23:23

динамическое значение кнопок через цыкл - нужна ваша помощь
 
Я этот вопрос уже задавал но мне так на него толком и не ответили, отчасти из-за того что неправельно сформулировал вопрос.

имеется скрипт:

Код:


sn = ["picture1","picture2","picture3"];
for (var i=0; i<_root.sn.length; i++)
{
       
        this["screen"+i] = "pathtopictures/" add sn[i] add "_sm.jpg";
// если розкоментировать то взять вторую закоментированную функцию на кнопки  this["screenurl"+i] = "pathtopictures/" add sn[i] add "_big.jpg";
        loadMovie(this["screen"+i], scrollBar.cont1["ekrmc"+i].image);
        scrollBar.cont1["ekrmc"+i].opisalovka = ekrtext[i];
       
        scrollBar.cont1["ekrmc"+i].knob.onPress = function() {
                getURL("pathtopictures/" add sn[i] add "_big.jpg");
        };
}
// вторая функция на кнопки
                getURL(this["screenurl"+i]);

В общем кнопка на нажатие неправельно отрабатывает. Ни тот, ни тот вариант с переменными не действует.. В чем дело понять немогу.

Вот тот топик где я этот вопрос уже задавал http://www.flasher.ru/forum/showthre...threadid=57295
Там к стати исходник лежит, предпоследнее сообщение.


В чём моя ошибка???
Помогите плиз.


Dindin 29.04.2004 00:33

Тебе же Сергей исходник выложил. Что тебя в нем не устраивает (в исходнике)?

ader 29.04.2004 01:13

Исходник хороший, спасибо Сергею но там вопервых скрипт по другому сделан, там указываются отдельно большие отдельно маленькие фотки - а я хочу только название указывать и чтоб скрипт сам распределял маленькую фотку во флешь - большую фотку на нажатие - я об этом уже писал. И акшин функция на нажатие на самой кнопке а не в цыкле первого кадра екшин скрипта. Может так и лучьше но я пробывал сделать так как в примере, у меня не получилось. Очевидно из за того что большие фотки указаны не через скрипт а на прямую в массиве.
Отсюда вопрос, почему не работает?

Мне уже просто ради спортивного интереса узнать хочется :)

ader 29.04.2004 01:16

или в команде GetUrl нельзя цыкличные переменные указывать? (извените за формулировку :) )

Nucer 29.04.2004 12:32

Просто у тебя в getURL переменная i которая после выхода из цикла = длины массива + 1. Тут надо как-нибудь извратиться чтоб передать в getURL не переменную i, а её текущее значение

ader 29.04.2004 16:24

почему после выхода если geturl тоже в цыкле?

ader 29.04.2004 18:00

ну блин... я пробывал сравнивать другую переменную с переменной "i".. пробывал даже полный изврат - просто тупо
a1 = 1;
a2 = 2;
a3 = 3;

а потом sn["a"+i] - и всё равно таже фигня...

Dindin 29.04.2004 18:34

Или я чего-то не понимаю?
Способ 1:
а) пишем XML в котором указываем соответствие: картинка - тумбнэйл - текст кнопки - ссылка.
б) разбираем XML и формируем кнопки.

Способ 2:
а) создаем 4 паралельных массива: картинка - тумбнэйл - текст кнопки - ссылка.
б) в цикле формируем кнопки из элементов массива.


Это так сложно?

sergwizard 29.04.2004 21:45

Вложений: 1
Вот тебе еще один вариант, в котором:
1. данные грузятся из текстового файла (легко обновлять),
2. есть только ОДНО название, и флэшка сама распределяет большие и маленькие имиджи.
3. простой до безобразия (даже ты поймешь).

ЗЫ. Не надо плодить топики. Если тебя чем-то не устроили ответы, или ты чего-то не понял, - постись в том же топике.

ader 29.04.2004 22:02

:D :D :D :D :D :D
пасиба блин большое!!! разобрался!
я тупарь, упустил из внимания вот эту строчку:
base["holder"+i].i = i;

теперь усьо работает шикаладно! :) я счастлив :D

извените что плодил - больше не буду :)
я наверное всех уже тут достал :)) Теперь буду послушный и хороший :)

Всем ещё раз большое спасибо!


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

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