|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
дорисовка movieClip при повторе цикла
как сделать так что бы мувклип при повторе цикла не перерисовывася заново, а как бы дорисовывался к предыдущему.
конкретнее: есть точка. надо что бы при каждом проходе цикла for точка дорисовывалась, а она перерисовывается. function newPt() { this.menuItem_base.duplicateMovieClip("menuItem_"+i, i); this["menuItem_"+i]._x = mas[i]; trace(mas[i]); this["menuItem_"+i]._y = mas[i+1]; trace(mas[i+1]); }
__________________
ext. Последний раз редактировалось R292HR; 24.10.2005 в 21:32. |
|
|||||
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
for здесь не катит. Лучше использовать if. Пример:
mas = [10,20,15,25,20,30,25,35,30,40,35,45,40,50,45,55,50,60,55,65,60,70,65,75] i = 0; function newPt() { if(i<23){ menuItem_base.duplicateMovieClip("menuItem_"+i, i); _root["menuItem_"+i]._x = mas[i]; trace(mas[i]); _root["menuItem_"+i]._y = mas[i+1]; trace(mas[i+1]); i+=2; }else{ delete id; } } id = setInterval(newPt,500);
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
|
|||||
теперь конкретно все не работает. Если можно, Сергей, предложите чотнибудь еще а то моя тупая башня уже 3-ий день бьется над этой задачей.
конкретнее что не работает : точки не рисуются вобще. а хочется что бы они рисовались то как. --- есть н-ное кол-во внешних массивов. mas("a"+n, n); в этих массивах an[i]- это х,а an[i+2]- это у; var x = _x; var y = _y; выставляем координаты начальной точки x = mas[0]; trace("x "+x); y = mas[1]; trace("y "+y); рисуем линию _root.createEmptyMovieClip("mc_drawing", x++); this.mc_drawing.lineStyle(1, 0, 100); this.mc_drawing.moveTo(x, y); рисуем точки for (i=0; i<mas.length; i=i+2) { //вызываю твою функцию newPt(); this["menuItem_"+i]._x = mas[i]; trace(mas[i]); this["menuItem_"+i]._y = mas[i+1]; trace(mas[i+1]); this.mc_drawing.lineTo(mas[i], mas[i+1]); } что-то забыл....
__________________
ext. |
|
|||||
Регистрация: Aug 2005
Сообщений: 106
|
Посмотри в аттач, если я правильно понял, там то, что Тебе пригодится ...
|
|
|||||
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
Можно или так (пример):
masX = [10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220]; masY = [20,35,50,65,80,95,110,125,110,95,80,65,50,35,20,35,50,65,80,95,110,125]; i=0; this.createEmptyMovieClip("line",1); line.lineStyle(1,0,100); line.moveTo(masX[0],masY[0]); function newPt(){ this.onEnterFrame = function(){ i++ line.lineTo(masX[i],masY[i]); (i>=masX.length-1)? delete this.onEnterFrame : null; } } newPt(); masX = [10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220]; masY = [20,35,50,65,80,95,110,125,110,95,80,65,50,35,20,35,50,65,80,95,110,125]; i=0; this.createEmptyMovieClip("line",1); line.lineStyle(1,0,100); line.moveTo(masX[0],masY[0]); function newPt(){ i++; if(i<=masX.length-1){ _root.line.lineTo(masX[i],masY[i]); } } id = setInterval(newPt,300)
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
|
|||||
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
Ты что, не можешь просто скопировать код и вставить его в первый фрейм? Ну, тогда смотри пример.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
Часовой пояс GMT +4, время: 06:39. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|