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

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

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

Регистрация: Jul 2010
Сообщений: 51
По умолчанию Управление тенью

У Фрагмента ролика можно настроить фильтр такое как тень

Есть к примеру квадрат у которого есть тень

Можно ли на AS написать код чтоб когда наводишь на этот квадрат то на сторону или угол на который навел опускался а противоположный соответственно поднимался
А когда в центр то равновесие

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

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
Написать можно что угодно, только от постановки задачи и мозгов программиста зависит на сколько это будет сложно реализовано. А из вашего объяснения цели уважаемый не ясно чего вы хотите добиться. Чтобы тень смещалась при движении курсора мыши над квадратом?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 22.07.2010, 13:33
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 3  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
К фрагменту ролика нужно применить фильтр, типа тень.
Есть, к примеру, квадрат. Можно ли ... и т.д.
Примерно так можно:
Код AS3:
import flash.text.TextField;
import flash.filters.*;
import flash.events.*;
var filter:DropShadowFilter;
var constanta = 180/Math.PI;
mc_mc.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
mc_mc.addEventListener(MouseEvent.MOUSE_OUT,  mouseOutHandler);
function mouseMoveHandler(e:MouseEvent):void {
	var dx = mc_mc.mouseX;
	var dy = mc_mc.mouseY;
	var z = Math.sqrt(dx*dx+dy*dy)/5;
	var angle = Math.atan2(-dy, -dx)*constanta;
   	filter = new DropShadowFilter (z, angle);
	mc_mc.filters = [filter];
}
function mouseOutHandler(e:MouseEvent):void {
	mc_mc.filters = null;
}
Только в следующий раз пишите без ошибок и со знаками препинания.

PS
Да, на сцену поместите клип mc_mc

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Думаете правильно так писать?
Код AS3:
filter = new DropShadowFilter (z, angle)
Лучше создать экземпляр DropShadowFilter один раз, поместить его в filters один раз, при MOUSE_MOVE менять только свойства экземпляра DropShadowFilter.

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Цитата:
Сообщение от enepx Посмотреть сообщение
Лучше создать экземпляр DropShadowFilter один раз, поместить его в filters один раз, при MOUSE_MOVE менять только свойства экземпляра DropShadowFilter.
enepx, да, но при этом видимая тень меняться не будет)
Опытным путём установлено, что кроме изменения свойств DropShadowFilter необходимо вызывать геттер filters , т.е.
Код AS3:
mc_mc.filters = [filter];
Ну и там вродь можно сразу и массив содержать, чтоб его не пересоздавать т.е.
Код AS3:
mc_mc.filters = myConstantFiltersArray;
Похоже, при этом также происходит копирование обьекта DropShadowFilter. Если известно, как проще, то очень интересно знать =)

Старый 22.07.2010, 14:09
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 6  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Странно, я вроде менял фильтры без переприсваивания filters, но может и ошибаюсь.

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

Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
Все правильно, фильтр надо всегда заново применять, чтобы изменение отобразилось!

Старый 22.07.2010, 22:59
Byrger вне форума Посмотреть профиль Отправить личное сообщение для Byrger Найти все сообщения от Byrger
  № 8  
Ответить с цитированием
Byrger

Регистрация: Jul 2010
Сообщений: 51
Извиняюсь видимо меня не так поняли...
Тень немного не так должна сдвигаться

Нужно чтоб квадрат висел в воздухе допустим на 20px
Соответственно от него идет тень...
Ногда наводишь на любой его край, этот край опускается допустим 5px к фону...

Старый 22.07.2010, 23:07
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 9  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
То же самое, только при MOUSE_ROLL_OVER меняйте ShadowFilter.distance и переприсвойте массив filters.

Старый 22.07.2010, 23:19
Byrger вне форума Посмотреть профиль Отправить личное сообщение для Byrger Найти все сообщения от Byrger
  № 10  
Ответить с цитированием
Byrger

Регистрация: Jul 2010
Сообщений: 51
не пойму как сделать чтоб 1 угол опускался а другой поднимался
чтоб каквы этот квадрат был в 3д и висел над фоном


Последний раз редактировалось Byrger; 22.07.2010 в 23:21.
Создать новую тему Ответ Часовой пояс GMT +4, время: 19:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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