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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.04.2006, 22:46
Jegor UQ вне форума Посмотреть профиль Отправить личное сообщение для Jegor UQ Найти все сообщения от Jegor UQ
  № 1  
Ответить с цитированием
Jegor UQ
 
Аватар для Jegor UQ

Регистрация: Jan 2003
Адрес: Эстляндия, Таллиннград
Сообщений: 15
По умолчанию _alpha. Что за глюк?

Помнится даже в 6ом флэшэ сталкивался с такой проблемой. Особо она не мешает, но хочется спросить знающих: "почему так?"

Код:
var clip:MovieClip = createEmptyMovieClip ("clip", getNextHighestDepth ());
onEnterFrame = function ()
{
 trace (clip._alpha);
 clip._alpha > 0 ? clip._alpha = Math.floor (clip._alpha - 1) : delete onEnterFrame;
};
Результат:
100
98.828125
96.875
94.921875
...
5.859375
3.90625
1.953125
0

Даже так: clip._alpha = Math.floor (clip._alpha - 1) - не помагает...
Объясните пожалуйста причину, ведь это тока с этим свойством происходит.

Спасибо!

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

Регистрация: Sep 2002
Сообщений: 30,787
вероятно геттер и сеттер для альфы работают по-разному. А точнее прозрачность не может быть задана точно. Возможно, это связано с тем, что альфа-канал, как и r-, g- и b-каналы имеет 256 градаций. Внутри флеша происходит пересчёт в 256 градаций и обратно. Наглядный тому пример:
Код:
var clip:MovieClip = createEmptyMovieClip ("clip", getNextHighestDepth ());
clip._alpha = 99;
var b = Math.round(256*0.99);
var c = b/256*100;
trace (clip._alpha+','+c);
Как можно видеть, значения переменной "c" и clip._alpha совпадают с точностью до знака, что позволяет говорить о пересчёте. Хотя, конечно, такая проверка не претендует на верность


Последний раз редактировалось etc; 22.04.2006 в 23:04.
Старый 22.04.2006, 23:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код:
var clip:MovieClip = createEmptyMovieClip("clip", getNextHighestDepth());
alpha = 100;
this.onEnterFrame = function() {
	clip._alpha = alpha;
	var b = Math.floor(256*alpha/100);
	var c = b/256*100;
	trace(clip._alpha+','+c+','+(c==clip._alpha));
	alpha-=0,5;
	if (alpha<0) {
		delete this.onEnterFrame;
	}
};
Вероятно именно так и происходит пересчёт значения alpha. Приведённый пример выше не совсем верен. А пример, приведённый в данном сообщении наглядно иллюстрирует работу флеша с прозрачностью (об этом свидетельствует вывод true во всех trace)


Последний раз редактировалось etc; 22.04.2006 в 23:27.
Старый 23.04.2006, 00:43
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 4  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
http://flasher.ru/forum/showthread.p...EE%F0%EE%ED%FB

обратите внимание на дату поста.

одно время в хэлпе вообще не было написано про уровни альфы, потом было написано про 128, а теперь я что-то вообще не могу найти четких упоминаний.

Старый 23.04.2006, 00:46
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 5  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
а, вот, нашел.

http://www.macromedia.com/support/fl...ionary506.html

короче проблема как всегда всего одна - никто не читает документацию. что "профессионалы", что новички.

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

Регистрация: Sep 2002
Сообщений: 30,787
В стандартной хелпе об уровнях альфы ни слова (никаких 128 или 256). А ходить на livedocs не наши методы (конкретно -- не мои, ибо времени нет) =)

Старый 23.04.2006, 01:05
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 7  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
раньше это было написано и в обычном хэлпе :)
не помню в какой момент эта надпись пропала.

Старый 23.04.2006, 15:16
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от Nox Noctis
раньше это было написано и в обычном хэлпе
не помню в какой момент эта надпись пропала.
В 5-ке уже не было. Видимо только в 4-ке, но ни хелпа, ни дистрибутива у меня уже не осталось и не проверить.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 23.04.2006, 15:37
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 9  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Сообщение от iNils
В 5-ке уже не было. Видимо только в 4-ке, но ни хелпа, ни дистрибутива у меня уже не осталось и не проверить.
это было то ли в пятом то ли в шестом. совершенно точно. но там несколько раз выходили апдейты к хэлпу, так что фиг его знает, где оно там было...

как бы там ни было - в ливдоксах это есть и сейчас.

здесь (см второй коммент):
http://livedocs.macromedia.com/flash...Part_ASLR.html

по какой причине надо скрывать суть вещей в обычном хэлпе - это одна из неразрешенных загадок в продуктах макромедии.

вот тут тоже народ недоумевает:
http://livedocs.macromedia.com/flash...rt4_ASLR2.html

короче.
лично я прежде чем самому лезть эксперименты ставить сначала смотрю хэлп, потом в гугле, потом в саппроте макромедии, потом в ливдоксах. потом (в очень редких случаях, поскольку тут мало чего-то, что я не видел) - на форуме. это экономит либо время либо мозговые усилия.

Старый 23.04.2006, 16:35
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 10  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
я нас три свидетеля - макромедия, петрович и я :)

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

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

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


 


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


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