Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   снова о дублировании клипа (http://www.flasher.ru/forum/showthread.php?t=66979)

Fokker 21.07.2005 11:12

снова о дублировании клипа
 
День добрый,почтенному собранию.
В учебничке разбираю пример о дублировании клипа (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 клипов? должно же быть вроде шесть
один родительский и пять копий.....где я затупил???

iNils 21.07.2005 11:40

Когда i =5 (то есть уже произошло 5 дублирований) твоя проверка в последней строке сравнивает i с numStars (который тоже равен 5) и поскольку в условии стоит меньше или равно (а оно равно), то запускает цикл еще на один проход, но при это увеличивает i до 6. Происходит еще одно дублирование, но в слудущем сравнении i (=6) уже больше numStars и цикл заврешается.

Итого произошло в цикле 6 дублирований + оригинальный мувик.

Fokker 21.07.2005 12:11

мерси

KUZEN 21.07.2005 13:13

А по мне так проще так
Код:

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);
}


Nirth 21.07.2005 13:16

неа так легче=)
Код:

for(var i=0;i<5;i++){ starParent.duplicateMovieClip("star"+i,i,{_x:Math.floor(Math.random()*551),_y:Math.floor(Math.random()*401)});
}


KUZEN 21.07.2005 13:18

я ждал этого ответа )))

Nirth 21.07.2005 13:19

меня последнее время на сокращения потянуло=)


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

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