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

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

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Апгрейд кода)))
Код:
import flash.filters.BlurFilter;
// исходные настройки
var blurmax:Number = 30;
var xmax:Number = 300;
var xmin:Number = 100;
// константы
var way:Number = xmax-xmin
// поехали
mc._x = xmin;
mc.onEnterFrame = function() {
    this._x += 1;
    if (this._x>=xmax) this._x = xmin;
    this._alpha = 3*(way/2 - Math.abs(way/2-this._x+xmin));
    blurnow = blurmax - (way/2-Math.abs(way/2-this._x+xmin))/2;
    this.filters = [new BlurFilter(blurnow, blurnow, 3)];
};
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 06.06.2008 в 16:27.
Старый 09.06.2008, 17:39
blacks вне форума Посмотреть профиль Отправить личное сообщение для blacks Найти все сообщения от blacks
  № 42  
Ответить с цитированием
blacks
[+3 17.12.07]
[+3 04.04.08]

Регистрация: Oct 2007
Сообщений: 42
Сегодня сел за разбор скрипта и приаттачивания его к проекту.

Alex_beginner
Огромное спасибо за поддержку и помощь!
Думаю Ваш пример сослужит добрую помощь еще не оди раз!

iNils
к сожалению классы которые аттачатся к скрипту добавили ему веса:
выходной swf весит за 2кб. Остальные примеры в пределах 400-500байт

Wolsh
Спасибо за ваш пример в посте/посте:
http://www.flasher.ru/forum/showpost...0&postcount=41
- он получился по выходу swf самым маленьким.

Хотя забавная штука - сам ролик уменьшился всего на 1кб

Ню так суть не в этом.
Вот подумал что хорошоб добавить анимацию цвета для данного мувика.

Сценарий:
1 = 2 секунды - из красного в белый
2 = 2 секунды - сохраняем белый
3 = 2 секунды - из белого в красный

Полазил в зарубежных сайтах и на данном форуме
Много примеров с
Код:
import flash.geom.ColorTransform;
import flash.geom.Transform;
но нуно сделать без этого

Смотрел сылочку:
http://etcs.ru/blog/as2/ru/etcs/draw/simplegradient/
(ru.etcs.draw.SimpleGradient v1.1.1)
- но там мне кажеться вывод будет тоже большим
( еще не смотрел-проверял.. но классы думаю что-то да весят)

Плюсом на форуме нашел пост от wvxvw
(http://www.flasher.ru/forum/showpost...81&postcount=9)
Код:
var _null:Number = 0x000000;
_root.onEnterFrame = function() {
	_null += 0x01;
	trace(_null);
}
- вроде жто то что должно подойти под Ваш пример...
- но к сожалению мои ламерские подвиги в флеше пока не растут

Вот хотел у Вас попросить помощи.
Заранее большое СПАСИБО!

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от blacks Посмотреть сообщение
iNils
к сожалению классы которые аттачатся к скрипту добавили ему веса:
выходной swf весит за 2кб. Остальные примеры в пределах 400-500байт
Если у вас баннер, то это конечно критично, в иных случаях 2кб роли не играют.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 09.06.2008, 19:15
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 44  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Хм.... Это очень простое цветовое преобразование. Для частного случая:
Код:
import flash.filters.BlurFilter;
// исходные настройки
var blurmax:Number = 30;
var xmax:Number = 300;
var xmin:Number = 100;
// константы
var col:Color = new Color(mc);
var way:Number = xmax-xmin
// поехали
mc._x = xmin;
mc.onEnterFrame = function() {
    this._x += 1;
    if (this._x>=xmax) this._x = xmin;
    var delt = way/2 - Math.abs(way/2-this._x+xmin)
    this._alpha = delt*3;
    blurnow = blurmax - delt/2;
    this.filters = [new BlurFilter(blurnow, blurnow, 3)];
    var temp:Number = Math.min(255, Math.floor(this._alpha));
    col.setRGB(255 << 16 | temp << 8 | temp)
};
Попутно выяснилось, что все остальное тоже для частного случая)))) Прошу прощения у мэтров, давших универсальное решение.


Последний раз редактировалось Wolsh; 09.06.2008 в 20:11.
Старый 09.06.2008, 21:22
blacks вне форума Посмотреть профиль Отправить личное сообщение для blacks Найти все сообщения от blacks
  № 45  
Ответить с цитированием
blacks
[+3 17.12.07]
[+3 04.04.08]

Регистрация: Oct 2007
Сообщений: 42
Цитата:
Сообщение от iNils
Если у вас баннер, то это конечно критично, в иных случаях 2кб роли не играют.
Согласен...
У меня вот меню на флеше в шапке сайта - нужно сделать красиво и маленько по размеру

Цитата:
Сообщение от Wolsh
Попутно выяснилось, что все остальное тоже для частного случая)))) Прошу прощения у мэтров, давших универсальное решение.
- Спасибо! Хотя еще не удалось проверить
- Только вот не понимаю за "прощение" - что-то не то с кодом?

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

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

Старый 09.06.2008, 21:56
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 47  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
что-то не то с кодом?
Этот сокращенный код нормально работает при тех размерах что там вбиты и с максимальным блюром 30. Для других случаев придется подбирать множители-делители))) Я обманулся насчет универсальности полученной формулы. К тому же там сделаны непростительные допущения - типа что альфа не может быть больше ста (точнее может но визуально не выражается) а блюр не может быть меньше ноля. В общем все это проявится, если захочется меньше блюра или длиннее путь.
зЫ У меня аватар в 32 битном пинге, а у iNilsa - джипег с хитрым синим фоном (самый неискажаемый в джипеге цвет, первые биты)
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 09.06.2008 в 22:01.
Старый 10.06.2008, 00:56
blacks вне форума Посмотреть профиль Отправить личное сообщение для blacks Найти все сообщения от blacks
  № 48  
Ответить с цитированием
blacks
[+3 17.12.07]
[+3 04.04.08]

Регистрация: Oct 2007
Сообщений: 42
Цитата:
Сообщение от iNils Посмотреть сообщение
У меня аватар весит 3кб, а у Волша все 16. Посмотрите на размер ваших картинок на сайте и сам html.

Борьба аватрками
Сайт и картики да... местами большие. Но нуно постепенно править, уменьшать, совершенствоваться. Спасибо!

Цитата:
Сообщение от Wolsh
Этот сокращенный код нормально работает при тех размерах что там вбиты и с максимальным блюром 30. Для других случаев придется подбирать множители-делители))) Я обманулся насчет универсальности полученной формулы. К тому же там сделаны непростительные допущения - типа что альфа не может быть больше ста (точнее может но визуально не выражается) а блюр не может быть меньше ноля. В общем все это проявится, если захочется меньше блюра или длиннее путь.
зЫ У меня аватар в 32 битном пинге, а у iNilsa - джипег с хитрым синим фоном (самый неискажаемый в джипеге цвет, первые биты)
Блюр сейчас у меня стоит 10... максимум будет 20.
Расстояние и скорость уменьшил.
Вообщем в таком виде живу

Про хитрый JPEG не знал - наверное это азы?
(сразу захотелось использовать "синенький" в дизайне с большими картинками)

Старый 10.06.2008, 02:01
blacks вне форума Посмотреть профиль Отправить личное сообщение для blacks Найти все сообщения от blacks
  № 49  
Ответить с цитированием
blacks
[+3 17.12.07]
[+3 04.04.08]

Регистрация: Oct 2007
Сообщений: 42
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Хм.... Это очень простое цветовое преобразование. Для частного случая:
Код:
// константы
var col:Color = new Color(mc);
// поехали
    var temp:Number = Math.min(255, Math.floor(this._alpha));
    col.setRGB(255 << 16 | temp << 8 | temp)
};
Попутно выяснилось, что все остальное тоже для частного случая)))) Прошу прощения у мэтров, давших универсальное решение.
Вот сижу разбираю ваш пример и никак не могу понять:
- как задавать/изменять цвета?


Пытаюсь сделать:
#663399 -> whie -> #663399


Последний раз редактировалось blacks; 10.06.2008 в 02:06.
Старый 10.06.2008, 08:41
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 50  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
blacks, Вы запутались в своих желаниях! С одной стороны, Вы хотите все оптимизировать до одной строчки, с другой стороны Вам надо чтоб этот код был универсальным. Универсальный код уже написан - это классы. Поверьте, еслиб можно было универсальность както еще оптимизировать, наши глубокоуважаемые мэтры сделали бы это. Но увы.
Частный код всегда короче и производительней, так как содержит только необходимые в конкретном случае расчеты. Например, для преобразования из красного 0хff0000 в белый 0xffffff надо всеголишь поднимать значения зеленого и синего с 0 до 255, причем на одинаковую величину. Но для преобразования произвольного цвета в другой произвольный цвет понадобится код раз в десять увесистей.
Я бы рекомендовал такой подход в Вашем случае - создать "карту преобразований"
Звучит страшно, но я имею в виду совсем простую вещь - Вам надо создать преобразование некоторой переменной (назовем ее дельта) в известном Вам диапазоне, например от 0 до 100, и все остальные преобразования (блюра, альфы, цвета и т.п.) производить от величины этой переменной. Напр. когда дельта 100 - блюр 0, альфа 100 цвет 0xffffff, а когда дельта 0 - блюр 10, альфа 0, цвет 0x663399.
Таким образом, сначала создаете формулу, преобразующую позицию Х Вашего мувика в величину дельта, потом считает остальные параметры.
__________________
Reality.getBounds(this);

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

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

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


 


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


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