![]() |
|
||||||||||
|
|
|
|||||
|
В общем у меня такая проблема... у меня карта местности... и нужно сделать чтобы маршрут рисовался линиями... (линии прямые) Т.е. это даже не маршрут а просто соединение двух точек на карте...(выходил из одной и попадал в другую...) использование маски... не очень подходит...(
на одной из тем форума: http://www.flasher.ru/forum/showthread.php?t=80776 iNils выкладывал 2 примера... они в принципе ничего... но только если анимация на белом фоне... а если фоном является картинка? Не получается...(( Как мне решить эту задачку с наименьшими потерями? ![]() |
|
|||||
|
Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
|
Цитата:
Выигрыш во времени, если у тебя "время == деньги".В принципе, используй line, зачем тут БитмапДата: this.createEmptyMovieClip("triangle_mc", this.getNextHighestDepth());
triangle_mc.lineStyle(5, 0xff00ff, 100, true, "none", "round", "miter", 1);
triangle_mc.moveTo(200, 200);
onEnterFrame = function(){
triangle_mc.lineTo(_xmouse, _ymouse);
}
![]() this.createEmptyMovieClip("triangle_mc", this.getNextHighestDepth());
triangle_mc.moveTo(200, 200);
onEnterFrame = function(){
_mcolor = "0x"+random(9999).toString(16);
triangle_mc.lineStyle(5, _mcolor, 100, true, "none", "round", "miter", 1);
triangle_mc.lineTo(random(Stage.width*0.5)+Stage.width*0.3, random(Stage.height*0.5)+Stage.height*0.2);
}
__________________
маска лошади и коня в россии и снг с бесплатной доставкой gimmethevape вейпы и поды доставка Последний раз редактировалось Ostgur; 31.10.2007 в 14:46. |
|
|||||
|
[quote=Ostgur]заплатить за эту работу кому-нибудь
Выигрыш во времени, если у тебя "время == деньги".В принципе, используй line, зачем тут БитмапДата: моя твоя не пониматьИспользовал и LineTo и MoveTo... в этом случае линия рисуется сразу же, а мне нужно, чтобы она из одной точки выходила и в другую попадала (наглядно)... двигаться то я ее научил... с определенным шагом меняем координаты... Не могу сделать чтобы она в нужные мне координаты попадала...(( |
|
|||||
|
Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
|
что не понятно?
__________________
маска лошади и коня в россии и снг с бесплатной доставкой gimmethevape вейпы и поды доставка |
|
|||||
|
Извини конечно, я за Flash сел буквально вчера...)
Может не то что-то говорю... //x1 - Начальная координата по оси абсцисс; //y1 - начальная координата по оси ординат; //x2 - Конечная координата по оси абсцисс; //y2 - Конечная координата по оси ординат; moveTo(x1, y1); lineTo(x2, y2); это понятно... но в этом случае линия сразу нарисованная получается...( Еще раз прошу прощения... за свое незнание... |
|
|||||
|
Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
|
function drawLine(x1,y1,x2,y2){
this.lineStyle(5, 0xff00ff, 100, true, "none", "round", "miter", 1);
this.moveTo(x1, y1);
this.lineTo(x2, y2);
}
this.createEmptyMovieClip("my_draw", 0);
var a = 0;
my_draw.onEnterFrame = function(){
if(a == 1){drawLine(100,100, 110, 115);};
if(a == 5){drawLine(110,115, 125, 120);};
if(a == 10){drawLine(125,120, 144, 140);};
if(a == 15){drawLine(144,140, 150, 170);};
if(a == 20){drawLine(150,170, 160, 130);};
if(a == 25){drawLine(160,130, 160, 160);}; //и т.д.
a++;
}
__________________
маска лошади и коня в россии и снг с бесплатной доставкой gimmethevape вейпы и поды доставка |
|
|||||
function draw(what,x0,y0,x,y,k)
{
if(f>=1/k) clearInterval(myInt); else { x*=k*f; y*=k*f; }
what.clear();
what.lineStyle (1, 0x990000);
what.moveTo(x0, y0);
what.lineTo(x,y);
f++;
}
f=1; k = interval/time/1000;
this.createEmptyMovieClip("line",0);
myInt = setInterval(draw, interval, x0,y0,x,y);
__________________
Глупости какие-то говорите. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
to Ostgur, оригинальное решение =) А если до 100000 надо будет дойти? Даже если такой алгоритм использовать вдруг придется, так как условия взаимоисключающие, то их надо связывать if... else if... else if..., чтобы уменьшить количество проверок или case использовать.
|
|
|||||
|
Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
|
udaaff, если 100000 надо будет, то я бы использовал исходник iNils'а
но так как Disney75'y этот вариант не понравился — я предложил своё решение ![]()
__________________
маска лошади и коня в россии и снг с бесплатной доставкой gimmethevape вейпы и поды доставка |
|
|||||
|
Мммм. Она ломанная должна быть...
Тогда так будет проще всего function draw (what,x0,y0,x,y)
{
if (f > 1/k) return nextXY(); else { x = (x-x0)*k*f; y = (y-y0)*k*f; }
what.clear();
what.lineStyle(1, 0x990000);
what.moveTo(x0,y0);
what.lineTo(x0+x,y0+y);
f++;
}
function nextXY()
{
pos +=2;
ho = this.createEmptyMovieClip("line"+pos, pos);
clearInterval(myInt);
if(pos < xy.length)
{
myInt = setInterval(draw, interval, ho, xy[pos-2], xy[pos-1], xy[pos], xy[pos+1]);
}
f=1;
}
pos = 0; f = 1; k = interval/time/1000;
nextXY();
Массив с координатами может быть сколь угодно велик. Координаты вносятся попарно x,y
__________________
Глупости какие-то говорите. Последний раз редактировалось Fl00r; 31.10.2007 в 21:50. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|