Просмотр полной версии : Странности с поведением линии в 8-ке
Доброго всем времени суток.
Ситуация следующая.
Есть клип, в нем по заданному пути движется огонек, за ним остается линия.
Ну, типа, лазер :)
Так собственно вопрос в том, что если публиковать это дело в 7-й версии или ниже, то всё прекрасно рисуется, а вот если в 8-й, то линия почему то перестает рисоваться на горизонтальных или вертикальных участках пути.
Кто может подсказать, в чем проблема?
Исходник прицепляю.
ЗЫ. Забыл сказать зачем собственно мне нужна именно 8-ка. Для блура, и т.п. возможностей
А вы в курсе, что линии можно программно рисовать, без извращений с дублированием?
Когда вы задаете _xscale или _yscale равным 0, объект перестает быть видимым.
Да в курсе конечно, и во многом благодаря Вашим примерам с этого форума ;) (Ну не только про линию конечно :) )
Но дело в том, что там дублируется не просто линия, а клип, в котором есть анимация, там линия из желтой становится черной постепенно...
Конечно с линиями то было бы проше, рисуй их да рисуй между старыми и новыми координатами...
Насчет _xscale или _yscale равными нулю не понял я что то... Т.е. в 7-ко они не равны нулю, и дубли видны, а в 8-ке они становятся равными нулю??? С чего бы?
В 7-ке линии были "инвалидными", много чего делать не могли. А в 8-ке у них появилось множество свойств.
Увас там анимация только цвета. Можно использовать BitmapData и делать цветовой сдвиг.
А получится что BitmapData для каждог клипа будет грузить проц по черному?
Ведь если на сцене 1000 дублей, ну или линий...
а темнеть они должны со сдвигом по времени...
У вас будет только один BitmapData.
Надо либо к нему применять сдвиг, либо только менять цвет "активных" пикселей, до тех пор пока они не уйдут в черный цвет.
Спасибо!
Увидел у Вас в подписи ссылку на BitmapData, буду учить уроки :)
Если ниасилю с первого раза, подтолкнете в нужном направлении?
Ну вот, снова добрался до флэша, посидел, потыкался, снова вопрос.
(Прошу учесть что флэш для меня хобби, занимаюсь им только при наличии свободного времени, и не пинать ногами поэтому)
Вобщем сделал я что линии не дублируются от готовой линии с анимацией цвета, а рисуются по новой, каждая линия.
Сделал я это так:
oldX = blick._x;
oldY = blick._y;
i = 0;
function line() {
if (i<200) {
_root.duble = "line_mc"+i;
_root.createEmptyMovieClip(duble, 1000+i);
newX = blick._x;
newY = blick._y;
with (_root[duble]) {
lineStyle(1, 0xFFffff, 100);
moveTo(oldX, oldY);
lineTo(newX, newY);
}
} else {
clearInterval(l);
}
oldX = blick._x;
oldY = blick._y;
i++;
}
var l = setInterval(line, 50);
и повесил это уже не на клип, а в кадр.
Всё замечательно рисуется, setInterval-ом можно регулировать плавность отрисовки пути.
потом сделал вот такую штуку для изменения цвета:
racc = 255;
gacc = 100;
function coltrans() {
mycol = new Color(_root[duble]);// Имя клипа которому меняем цвет ()
mycol.setTransform({ra:racc, ga:gacc, ba:bacc, rb:rbcc, gb:gbcc, bb:bbcc});
//**************************************
racc--;
gacc--;
}
var ct = setInterval(coltrans, 10);
и повесил в тот же кадр.
тоже работает, и плавно меняет цвет клипа, если бы он был один...
НО в моем случае он меняет цвет каждой последующей линии.
Т.е. Линии сначала рисуются желтые, потм уходят к красному, потом в черный.
Как я ни пытался, так и не смог понять, как же привязать изменение цвета к каждой вновь созданной линии, чтобы они все рисовались желтыми, а затем, каждая, независимо от других становилась красной>>>>черной.
т.е. я умом то понимаю, что к каждой линии надо привязать независимую функцию coltrans, но вот как так сделать...
Прошу ткнуть носом, уважаемые...
Или как то по другому всё это делать вообще?
Я имею ввиду плавное изменение цвета каждой линии после прорисовки её?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.