Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.06.2007, 01:56
_Nagash_ вне форума Посмотреть профиль Отправить личное сообщение для _Nagash_ Найти все сообщения от _Nagash_
  № 1  
Ответить с цитированием
_Nagash_

Регистрация: 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.
Старый 01.06.2007, 02:14
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А где alfa?

Старый 01.06.2007, 02:54
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 3  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
i это ширина прямоугольника? Похоже вы ее в альфу загоняете.

Старый 01.06.2007, 15:33
RealShat вне форума Посмотреть профиль Отправить личное сообщение для RealShat Посетить домашнюю страницу RealShat Найти все сообщения от RealShat
  № 4  
Ответить с цитированием
RealShat
 
Аватар для RealShat

Регистрация: Apr 2007
Сообщений: 18
Отправить сообщение для RealShat с помощью ICQ
А где собственно "var alfa" и её значение?

Старый 02.06.2007, 02:04
_Nagash_ вне форума Посмотреть профиль Отправить личное сообщение для _Nagash_ Найти все сообщения от _Nagash_
  № 5  
Ответить с цитированием
_Nagash_

Регистрация: Feb 2007
Сообщений: 12
занчения задаютсья:

Код:
my_mc.drawRect(х, y, i, h, 0x0000FF, 40);
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);
и возникает сразу 2-ой вопрос... как можно добиться разной скорости изменения ширины клипов? т.е. чтобы раздиваглись допустим по формуле f(x) (не советуйте i подстваить - не то получиттся )

Спасибо.

З.Ы.

при изменения прозрачности на меньший уровень, 10, к приеру, "деффек" становиться отчетливо заметен...

Возможно проблема из аз использования СетИнтервал?

как по другому можно влиять на скорость воспроизведения мувика (в данном случае увеличения его ширины...?


Последний раз редактировалось etc; 02.06.2007 в 14:36.
Старый 02.06.2007, 14:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
_Nagash_, для того, чтобы что-то добавить, нужно ОТРЕДАКТИРОВАТЬ свой пост, а не создавать новый!

з.Ы. А очищать после нарисованного ничего не надо разве?


Последний раз редактировалось etc; 02.06.2007 в 14:37.
Старый 02.06.2007, 14:48
_Nagash_ вне форума Посмотреть профиль Отправить личное сообщение для _Nagash_ Найти все сообщения от _Nagash_
  № 7  
Ответить с цитированием
_Nagash_

Регистрация: Feb 2007
Сообщений: 12
в смысле очищать? нужно чтобы мувиг растягивался (по ширине) от Х до Х1., а не перемещался...

З.Ы. ок, приму к сведению

Старый 02.06.2007, 15:02
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Надо добавить this.clear() перед beginFill. И где w объявлен?

Старый 03.06.2007, 18:02
_Nagash_ вне форума Посмотреть профиль Отправить личное сообщение для _Nagash_ Найти все сообщения от _Nagash_
  № 9  
Ответить с цитированием
_Nagash_

Регистрация: Feb 2007
Сообщений: 12
Цитата:
Сообщение от __etc
Надо добавить this.clear() перед beginFill. И где w объявлен?
спасибо, теперь все работает

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:55.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.