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

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

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
По умолчанию Динамика большого спрайта

Всем привет, как думаете по какому принципу делается движение этой галереи?
http://www.fieroanimals.com/

Старый 08.11.2011, 11:39
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 2  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Чуть смещаются основные картинки, и за счет движения снега(снежинок) передается эффект перемещения.
ЗЫ Тему во флейм
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
Анимация фона на главной странице меня не интересует, давайте гланем на галерею в этом сайте!
На сколько я понимаю, есть контиейнер в который загружается вся база картинок портфолио. Этот контейнер, например, имеет нулевые координаты по осям в левом верхнем углу. Контейнер с картинками двигается по очи Y относительно действия курсора.
Я пытаюсь найти эту формулу движение по оси Y.

Добавлено через 2 минуты
Как вы думаете tween-ами или на enterframe?

Добавлено через 5 минут
либо это реализуется вот таким принципом http://demiart.ru/forum/index.php?showtopic=73688


Последний раз редактировалось Dr_Bra; 08.11.2011 в 11:47.
Старый 08.11.2011, 13:40
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 4  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Какая еще формула, просто -height


Код AS3:
function onMouseMove_handler(event:MouseEvent):void {
    _sprite.y = stage.stageHeight - event.stageY;
}
где _sprite это контейнер с фото

з.ы.
Анимация на главной странице сделана по принципу Parallax


Последний раз редактировалось strangedk; 08.11.2011 в 13:43.
Старый 08.11.2011, 19:44
Dr_Bra вне форума Посмотреть профиль Отправить личное сообщение для Dr_Bra Посетить домашнюю страницу Dr_Bra Найти все сообщения от Dr_Bra
  № 5  
Ответить с цитированием
Dr_Bra
 
Аватар для Dr_Bra

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
Уважаемый Strangedk, если бы разработчики использовали просто -height, получилась бы лажа! =)

Нужно завести переменную, например, position. Position будет определять вектор движения.
Спрайт, который мы двигаем имеет нулевые координаты в левом верхнем углу. Поэтому заводим переменную centr_sprite ,к примеру!
Код AS3:
centr_sprite = _sprite.height/2 + _sprite.y;// максимальное значение _sprite.y = 0 в нашем случае
формула движения следующая
Код AS3:
position = stage.stageHeight/2 - (stage.mouseY - stage.stageHeight/2);	
_sprite.y += (position - centr_sprite)/10;// 10 – наша скорость
Но и это все работает не корректно! В зависимости от размера высоты сцены, либо спрайт двигается менше чем нужно, либо спрайт двигается больше чем нужно. НО когда курсор находится у самого края сцены по OY, границы спрайта находятся где угодно, кроме нужного положения.

Что вобщем говорить, лучше один раз посмотреть. Архив в аттаче.
Вложения
Тип файла: zip Архив.zip (646.0 Кб, 50 просмотров)


Последний раз редактировалось Dr_Bra; 08.11.2011 в 19:47.
Старый 08.11.2011, 20:11
KBAC вне форума Посмотреть профиль Отправить личное сообщение для KBAC Найти все сообщения от KBAC
  № 6  
Ответить с цитированием
KBAC
 
Аватар для KBAC

Регистрация: Jan 2006
Адрес: Москва (Нижний Новгород)
Сообщений: 229
Записей в блоге: 1
Отправить сообщение для KBAC с помощью Skype™
Там всё просто. На MOUSE_MOVE делаем tween с easeOut меняя координату галереи. Например:
Код AS3:
newTargetY = stage.mouseY / stage.stageHeight * (stage.stageHeight - target.height);
TweenNano.to(target, 0.5, { y: newTargetY, ease:Expo.easeOut} );
// где target - объект галереи
update: вероятно у alatar корректнее: вместо stage.mouseY использовать e.stageY
__________________
Будь проще.


Последний раз редактировалось KBAC; 08.11.2011 в 20:50.
Старый 08.11.2011, 20:45
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 7  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Код AS3:
private function stage_mouseMoveHandler(e:MouseEvent):void 
{
	_spr.y = (stage.stageHeight - _spr.height) * (e.stageY / stage.stageHeight);
}
__________________
משיח לא בא
משיח גם לא מטלפן

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
Цитата:
Сообщение от alatar Посмотреть сообщение
Код AS3:
private function stage_mouseMoveHandler(e:MouseEvent):void 
{
	_spr.y = (stage.stageHeight - _spr.height) * (e.stageY / stage.stageHeight);
}


спасибо

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

Теги
движение , динамика , принцип , спрайт
Опции темы
Опции просмотра

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

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


 


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


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