PDA

Просмотр полной версии : LineStyle


Nataxin
12.10.2009, 15:43
Здравствуйте! помогите пожалуйста мне понять все про программное рисование линий. Задача следующая: чтобы за мувиклипом рисовалась линия по синусойде, но чтобы она рисовалась выше импортированного в сцену изображения. Т.е у меня есть 1 слой с изображением , на слое выше рисую шарик делаю из него мувиклип и на первый кадр этого слоя пишу:
f=function(xc)
{return Math.sin(xc);}
xcoor=10;
kx=15; ky=10;
_root.lineStyle(4, 0x941AE0, 100);
_root.moveTo(xcoor*kx,200-f(xcoor)*ky);
q_mc.onEnterFrame=function()
{this._x=xcoor*kx;
this._y=50-f(xcoor)*ky;
_root.lineTo(this._x, this._y);
xcoor+=0.5;

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

lexa2000lexa
12.10.2009, 16:05
поробуйте вот так f=function(xc){
return Math.sin(xc);
}
xcoor=10;
kx=15; ky=10;
this.createEmptyMovieClip("line",100)
line.lineStyle(4, 0x941AE0, 100);
line.moveTo(xcoor*kx,200-f(xcoor)*ky);
q_mc.onEnterFrame=function(){
if(this._x<Stage.width-155){
this._x=xcoor*kx;
this._y=200-f(xcoor)*ky;
line.lineTo(this._x, this._y);
xcoor+=0.5;
} else {
delete this.onEnterFrame;
}
}

Nataxin
12.10.2009, 16:25
а так и шарик пропал и линия не рисуется(

Добавлено через 24 минуты
все с этим разобралась, спасибо за скрипт, только что то не останавливается он к сожалению как должен :if(this._x<Stage.width-155){
this._x=xcoor*kx;
this._y=200-f(xcoor)*ky;
line.lineTo(this._x, this._y);
xcoor+=0.5;
} else {
delete this.onEnterFrame;
}
} вот это я имею ввиду, так и прет за границу экрана(

Добавлено через 30 минут
if(this._x<700) получилось если координату задать, СПАСИБО ОГРОМЕЕЕЕНННОЕЕЕЕ!!!!!!!!!!!!!