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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Jun 2006
Сообщений: 12
По умолчанию проблема в цикле

Есть допустим три квадрата, которые надо сбросить драгом в 3 разных локациях.
Создается клип base по размеру квадрата mc, в который будет квадрат сброшен и квадрату присвоются координаты клипа.
Например (полностью коды писать не буду):
Код:
x = mc._x;
y = mc._y;
mc.onRelease = function() {
stopDrag();
if (eval(mc._droptarget) == eval("_root."+base)) {
     mc._x = base._x;
     mc._y = base._y;
} else { //если сброшен не туда, но возвращается на прежнее место
     mc._x = x;
     mc._y = y;
}
}
С этим все ясно. это работает.
Но проблема возникла, когда для кучи клипов ["mc"+i], находящихся в клипе holder, с кучей base создал цикл:
Код:
//продублировал base c разными координатами в цикле:

//цикл:
for (i=0; i<3; i++) {
base.duplicateMovieClip("base"+i, this.getNextHighestDepth(), {_x:100*i, _y:0}); // имеют координаты по х: 0,100,200
holder["mc"+i].onRelease = function() {
stopDrag();
if (eval(this._droptarget) == eval("_root.base"+i)) {
//....координаты = коорд. базы
} else {
//....координаты = прежние
}
};
По идее должны создаться в цикле три функции , где для каждого mc будет своя base.
но ничерта не работает. Если вписать в правой части eval какую-нибудь одну базу. base1 , то все работает. Либо не верно написал там адрес баз в eval, либо i в функцию onRelease не передается нормально. Подскажите?


Последний раз редактировалось Nymzyr; 29.06.2006 в 15:14.
Старый 29.06.2006, 14:39
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Nymzyr, вам устное предупрежедние за не использование тегов [code][/code] для кода. Если не исправите сами, то предупреждение будет не устным. Время пошло.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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