![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
как сделать так что бы мувклип при повторе цикла не перерисовывася заново, а как бы дорисовывался к предыдущему.
конкретнее: есть точка. надо что бы при каждом проходе цикла 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, время: 13:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|