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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

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

Регистрация: Feb 2002
Сообщений: 80
По умолчанию Изменить код

Вот этот:

butt._x = 0;
buttwidth = butt._width+1;
num = 0;
for (var i = 0; i<10; i++) {
butt.duplicateMovieClip("butt"+num, num);
mc = this["butt"+num];
mc._x = buttwidth*i;
num++;
}
butt._visible = 0;

Цель — заставить дубликаты клипа butt загружаться последовательно, а не "все сразу".
Потыкался, не выходит чего-то.
Буду благодарен за совет.
__________________
sams, чачача

Старый 08.05.2004, 19:11
kazakov_gin вне форума Посмотреть профиль Найти все сообщения от kazakov_gin
  № 2  
kazakov_gin
 
Аватар для kazakov_gin

Регистрация: Dec 2003
Сообщений: 347
Код:
butt._x = 0;
buttwidth = butt._width+1;
num = 0;
function draw(){
if(num<10){
butt.duplicateMovieClip("butt"+num, num);
mc = this["butt"+num];
mc._x = buttwidth*i;
num++;
}
}
setInterval(draw,10);
butt._visible = 0;
__________________
[GIN]

Старый 08.05.2004, 20:21
sams_ вне форума Посмотреть профиль Отправить личное сообщение для sams_ Найти все сообщения от sams_
  № 3  
sams_

Регистрация: Feb 2002
Сообщений: 80
Не пашет, однако.
__________________
sams, чачача

Старый 09.05.2004, 02:08
artfla$her вне форума Посмотреть профиль Отправить личное сообщение для artfla$her Найти все сообщения от artfla$her
  № 4  
artfla$her
 
Аватар для artfla$her

Регистрация: Apr 2004
Адрес: Петербург
Сообщений: 549
Отправить сообщение для artfla$her с помощью ICQ
Во-первых, в скрипте у kazakov_gin-а приращение _x не идет, т.к. *i, а не *num. Во-вторых, скрипт все равно не пойдет, потому что использован this вместо _root. И, в-третьих, скорость в 10 миллсекунд очень уж зверская, неужто надеялся отследить появления шариков? Вот работающий код (у меня работающий):

butt._x = 0;
buttwidth = butt._width+1;
num = 0;
function draws(){
if(num<10){
butt.duplicateMovieClip("butt"+num, num);
mc = _root["butt"+num];
mc._x = buttwidth*num;
num++;
}
}
setInterval(draws,10);
butt._visible = 0;

О том, что код на самом деле очень глупый, я промолчу Функцию с именем draw не рекомендую использовать (по-крайней мере в 2004), т.к. она уже зарезервирована.
Удачи.
__________________
За двумя зайцами погонишься - от егеря по морде получишь

Старый 09.05.2004, 08:12
kazakov_gin вне форума Посмотреть профиль Найти все сообщения от kazakov_gin
  № 5  
kazakov_gin
 
Аватар для kazakov_gin

Регистрация: Dec 2003
Сообщений: 347
Сори, я даж не проверял, думал у него всё остальное правильно, ну и написал просто задержку.
Цитата:
приращение _x не идет, т.к. *i, а не *num
Ну эт я просто не заметил
А время опять же от болды поставил
__________________
[GIN]

Старый 09.05.2004, 15:08
sams_ вне форума Посмотреть профиль Отправить личное сообщение для sams_ Найти все сообщения от sams_
  № 6  
sams_

Регистрация: Feb 2002
Сообщений: 80
to artfla$her:

спасибо, теперь всё идёт "по плану".

P.S.: Вместе с сообщением о "глупом коде" хорошо бы вывешивать пример "умного". Я не пытаюсь выцыганить у тебя "гениальное" решение, просто этот код прекрасно справляется с поставленой задачей, а хорошему, как известно, предела нет.
__________________
sams, чачача

Старый 10.05.2004, 01:29
artfla$her вне форума Посмотреть профиль Отправить личное сообщение для artfla$her Найти все сообщения от artfla$her
  № 7  
artfla$her
 
Аватар для artfla$her

Регистрация: Apr 2004
Адрес: Петербург
Сообщений: 549
Отправить сообщение для artfla$her с помощью ICQ
Цитата:
Вместе с сообщением о "глупом коде" хорошо бы вывешивать пример "умного"
Согласен, как оформлять код - дело вкуса, но, по-моему, здесь было бы лучше написать хотя бы так:

butt._x = 0;
buttsLevel = 10;
space = 10;
maxObj = 10;
createTime = 100;
countCopy = 0;
function copies(){
countCopy++;
buttName = "butt"+countCopy;
duplicateMovieClip("butt", buttName, buttsLevel+countCopy);
_root[buttName]._x = butt._x+(butt._width+space)*countCopy;
if(countCopy>maxObj){
clearInterval(butInt);
}
}
butInt = setInterval(copies,createTime)

Ведь ширина и проч. основного клипа не меняется, а пробелы и т.п. удобнее, на мой взгляд, задавать в начальных переменных, не касаясь основного кода. Хотя и это далеко не лучший вариант. Просто прикольнее делать собственный код "управляемым", так сказать, легко настраиваемым.

Да и вообще какая разница - главное работает
__________________
За двумя зайцами погонишься - от егеря по морде получишь

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

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

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


 


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


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