Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Общие вопросы

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 20.08.2004, 16:15
AStrike вне форума Посмотреть профиль Отправить личное сообщение для AStrike Посетить домашнюю страницу AStrike Найти все сообщения от AStrike
  № 1  
AStrike

Регистрация: May 2004
Адрес: Днепропетровск
Сообщений: 36
Question Событийные функции в цикле. Как сделать правильно.

Нужна помощь.
Я пытаюсь прогенерировать несколько мувиклипов, с тем чтобы в них вставить событийные функции
да вот незадача, после присвоения onMouseDown в цикле обнаружилась ошибка - при клике на одном из сгенерированных мувиков активируются сразу все события, как быть, что нужно сделать чтобы разделить их?
Надеюсь вопрос понятен,
Принимаются любые решения, если это практически неосуществимо.
Благодарен всем за внимание.

function generate_clips($xml_array, $clip_selected, $img_width, $img_height, $scene_width, $scene_height) {
for ($i=0; $i<$clip_selected.length; $i++) {
attachMovie("clip", "clip"+$i, 100+$i);
_level0["clip"+$i]._x = $i*_global.$clip_width+_global.$hidden_zone;
_level0["clip"+$i]._y = _global.$scene_height-_global.$clip_height;
//trace($xml_array[$clip_selected[$i]]["url"]);
_level0["clip"+$i].clip_jpeg.loadMovie("img/2.jpg");
trace(_level0["clip"+$i].clip_jpeg._width);
_level0["clip"+$i].clip_txt.$clip_text = $xml_array[$clip_selected[$i]]["text"];

_level0["clip"+$i].onRollOver = function() {
this.gotoAndStop(2);
this.clip_txt.gotoAndPlay("hover");
};
_level0["clip"+$i].onRollOut = function() {
this.gotoAndStop(1);
this.clip_txt.gotoAndPlay("just created");
};
_level0["clip"+$i].onMouseDown = function() {
getURL($xml_array[$clip_selected[$i]]["url"]);
};

}
}

Старый 20.08.2004, 16:50
Ріxеl вне форума Посмотреть профиль Отправить личное сообщение для Ріxеl Найти все сообщения от Ріxеl
  № 2  
Ріxеl
 
Аватар для Ріxеl

Регистрация: Sep 2003
Адрес: Ukraine
Сообщений: 625
Отправить сообщение для Ріxеl с помощью ICQ
попробуй заменить на это:
Код:
 _level0["clip"+$i].onMouseDown = function() {
getURL($xml_array[$clip_selected[this.getDepth-100]]["url"]);
};

Старый 20.08.2004, 16:56
AStrike вне форума Посмотреть профиль Отправить личное сообщение для AStrike Посетить домашнюю страницу AStrike Найти все сообщения от AStrike
  № 3  
AStrike

Регистрация: May 2004
Адрес: Днепропетровск
Сообщений: 36
По умолчанию Ты наверное ошибся

$xml_array - это двухмерный массив(на основе объекта)
и добавление getDepth-100 ничего не даст

Старый 20.08.2004, 17:30
Ріxеl вне форума Посмотреть профиль Отправить личное сообщение для Ріxеl Найти все сообщения от Ріxеl
  № 4  
Ріxеl
 
Аватар для Ріxеl

Регистрация: Sep 2003
Адрес: Ukraine
Сообщений: 625
Отправить сообщение для Ріxеl с помощью ICQ
По умолчанию Re: Ты наверное ошибся

Цитата:
$xml_array - это двухмерный массив(на основе объекта)
да я как-то догадался...
Цитата:
и добавление getDepth-100 ничего не даст
ты пробывал? getDepth относится к мувику событие которого происходит.

дубль два:

Код:
_level0["clip"+$i].onMouseDown = function() {
getURL($xml_array[$clip_selected[numbFromString(this._name)]]["url"]);
};

function numbFromString(string) {
    var result = "";
    for (var i=0; i<=string.length; i++) {
        if (Number(string.charAt(i)).toString() != "NaN") {
            result += string.charAt(i);
        }
    }
    return Number(result);
}

Старый 20.08.2004, 18:22
AStrike вне форума Посмотреть профиль Отправить личное сообщение для AStrike Посетить домашнюю страницу AStrike Найти все сообщения от AStrike
  № 5  
AStrike

Регистрация: May 2004
Адрес: Днепропетровск
Сообщений: 36
По умолчанию Извини за мою наглость и спасибо за настойчивость - сейчас попробую

Извини за мою наглость и спасибо за настойчивость - сейчас попробую

Старый 20.08.2004, 18:44
Ріxеl вне форума Посмотреть профиль Отправить личное сообщение для Ріxеl Найти все сообщения от Ріxеl
  № 6  
Ріxеl
 
Аватар для Ріxеl

Регистрация: Sep 2003
Адрес: Ukraine
Сообщений: 625
Отправить сообщение для Ріxеl с помощью ICQ
Цитата:
Извини за мою наглость и спасибо за настойчивость - сейчас попробую
да лана...

если и дубль два не будет работать, то вот дубль три:
_level0["clip"+$i].onPress = function() {
nam = numbFromString(this._name);
getURL($xml_array[$clip_selected[nam]]["url"]);
};

function numbFromString(string) {
var result = "";
for (var i=0; i<=string.length; i++) {
if (Number(string.charAt(i)).toString() != "NaN") {
result += string.charAt(i);
}
}
return Number(result);
}

Старый 20.08.2004, 18:59
AStrike вне форума Посмотреть профиль Отправить личное сообщение для AStrike Посетить домашнюю страницу AStrike Найти все сообщения от AStrike
  № 7  
AStrike

Регистрация: May 2004
Адрес: Днепропетровск
Сообщений: 36
По умолчанию Чики - пуки

Слушай. Да ты - гений. Объясни почему оно работает???
Я конечно сделал Cut & Paste но хотелось бы узнать в чем секрет?

Старый 20.08.2004, 19:02
AStrike вне форума Посмотреть профиль Отправить личное сообщение для AStrike Посетить домашнюю страницу AStrike Найти все сообщения от AStrike
  № 8  
AStrike

Регистрация: May 2004
Адрес: Днепропетровск
Сообщений: 36
По умолчанию Сори за тупой вопрос.

Я уже понял. Действительная штука! Никогда б не догадался.
Пасибо!
Не представляеш сколько я с этой фигней провозился. (около 3-х часов)

Старый 20.08.2004, 20:49
Ріxеl вне форума Посмотреть профиль Отправить личное сообщение для Ріxеl Найти все сообщения от Ріxеl
  № 9  
Ріxеl
 
Аватар для Ріxеl

Регистрация: Sep 2003
Адрес: Ukraine
Сообщений: 625
Отправить сообщение для Ріxеl с помощью ICQ
всегда радприйти на помосч
обращайся коль чего...

Создать новую тему   Часовой пояс GMT +4, время: 02:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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