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

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

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

Регистрация: Jul 2005
Сообщений: 35
По умолчанию снова о дублировании клипа

День добрый,почтенному собранию.
В учебничке разбираю пример о дублировании клипа (starParent).Код такой :

var numStars=5;
var i=1;
do {
duplicateMovieClip(starParent,"star"+i,i);
_root["star"+i]._x=Math.floor(Math.random()*551);
_root["star"+i]._y=Math.floor(Math.random()*401);
} while(i++<=numStars);

Не могу понять почему у меня на выходе получается 7 клипов? должно же быть вроде шесть
один родительский и пять копий.....где я затупил???

Старый 21.07.2005, 11:40
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Когда i =5 (то есть уже произошло 5 дублирований) твоя проверка в последней строке сравнивает i с numStars (который тоже равен 5) и поскольку в условии стоит меньше или равно (а оно равно), то запускает цикл еще на один проход, но при это увеличивает i до 6. Происходит еще одно дублирование, но в слудущем сравнении i (=6) уже больше numStars и цикл заврешается.

Итого произошло в цикле 6 дублирований + оригинальный мувик.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 21.07.2005, 12:11
Fokker вне форума Посмотреть профиль Отправить личное сообщение для Fokker Найти все сообщения от Fokker
  № 3  
Ответить с цитированием
Fokker

Регистрация: Jul 2005
Сообщений: 35
мерси

Старый 21.07.2005, 13:13
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 4  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
А по мне так проще так
Код:
for(var i =0;i<5;i++){
 duplicateMovieClip(starParent,"star"+i,i);
_root["star"+i]._x=Math.floor(Math.random()*551);
_root["star"+i]._y=Math.floor(Math.random()*401);
}
__________________
BestMasterиZация

Старый 21.07.2005, 13:16
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 5  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
неа так легче=)
Код:
for(var i=0;i<5;i++){ starParent.duplicateMovieClip("star"+i,i,{_x:Math.floor(Math.random()*551),_y:Math.floor(Math.random()*401)});
}
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 21.07.2005, 13:18
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 6  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
я ждал этого ответа )))
__________________
BestMasterиZация

Старый 21.07.2005, 13:19
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 7  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
меня последнее время на сокращения потянуло=)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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