![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 12
|
проблема в следующем (решена!):
внутри функции doSmth параметр прозрачности "alfa" изменятся, хоть его значение нигде не менятся. т.е. при начале работы "прозрачность" его постепенно увеличивается и становиться 100%, хоть изначально она имела определное значение. В чем ошибка и как ее можно исправить? Вот код (drawRect - прототип мувиклипа, рисует прямогугольник: "MovieClip.prototype.drawRect = function(x, y, width, height, color, alpha)..." var intId = 10;
function doSmth() {
my_mc.drawRect(х, y, i, h, 0x0000FF, alfa);
i++;
if (i>100)
{
clearInterval(intId);
}
}
intId = setInterval(doSmth, intId);
2 вопрос: как можно добиться разной скорости изменения ширины клипов? т.е. чтобы раздиваглись допустим по формуле f(x) (не советуйте i подстваить вместо х - не то получится) т.е. надо чтобы мувики изменялсиь с раздичной скоростью (эксперементально в СетИнтервал не подойдет, надо, чтобы по строгой формуле проходило изменение...) Есть ли решение? Последний раз редактировалось _Nagash_; 03.06.2007 в 18:12. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А где alfa?
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
i это ширина прямоугольника? Похоже вы ее в альфу загоняете.
|
|
|||||
|
А где собственно "var alfa" и её значение?
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 12
|
занчения задаютсья:
i Не причем тут, прсто для общности показал. алфа стаил 0 - все равно до 100 доходитт... то же происходит если это постваить в онЕнтерФрейм - увеличивается до 100, хоть стоит, к примеру, 40. алфа тоже для наглядности показал, она задается вручную и не изменяется борльше нигде, но при компиляци... ??? вот полный код: только убрал из прототипа установление прозрачности (алфа) и устанавливаю ее для созданного мувиклипа. но при компиляци получаетсья не то, что надо... нало, чтобы "разъзжались" в разные стороны прямоугольники с усатновленной прозрачностью, а она меняется... в чем проблема? // 1
MovieClip.prototype.drawRect = function(x, y, width, height, color)
{
this.beginFill(color);
this.moveTo(x, y);
this.lineTo(x+width, y);
this.lineTo(x+width, y+height);
this.lineTo(x, y+height);
this.lineTo(x, y);
this.endFill();
};
//
this.createEmptyMovieClip("pOblast_mc", this.getNextHighestDepth());
this.createEmptyMovieClip("nOblast_mc", this.getNextHighestDepth());
var i:Number=1;
var intId = 10;
pOblast_mc._alpha=20;
nOblast_mc._alpha=20;
function modify_pn_width() //изменение ширины замыкающего слоя
{
tmp=x+w/2;
pOblast_mc.drawRect(tmp, y, 0-i, h, 0x0000FF);
nOblast_mc.drawRect(tmp, y, 0+i, h, 0xFF0000);
i++;
if (i>100)
{
clearInterval(intId);
}
}
intId = setInterval(modify_pn_width, intId);
Спасибо. З.Ы. при изменения прозрачности на меньший уровень, 10, к приеру, "деффек" становиться отчетливо заметен... Возможно проблема из аз использования СетИнтервал? как по другому можно влиять на скорость воспроизведения мувика (в данном случае увеличения его ширины...? Последний раз редактировалось etc; 02.06.2007 в 14:36. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
_Nagash_, для того, чтобы что-то добавить, нужно ОТРЕДАКТИРОВАТЬ свой пост, а не создавать новый!
з.Ы. А очищать после нарисованного ничего не надо разве? Последний раз редактировалось etc; 02.06.2007 в 14:37. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 12
|
в смысле очищать? нужно чтобы мувиг растягивался (по ширине) от Х до Х1., а не перемещался...
З.Ы. ок, приму к сведению |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Надо добавить this.clear() перед beginFill. И где w объявлен?
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 12
|
Цитата:
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|