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

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

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

Регистрация: Feb 2013
Сообщений: 24
Question Скроллинг фона с одной скоростью, относительно героя

Всем привет, итак ситуация такова, имеется клип фона fonm, а также клип героя herom, я хочу скроллить фон относительно героя (таким образом создавая впечатления будто герой движется с помощь мыши), на данный момент у меня такой код:

Код AS3:
fonm.y += (mouseY - herom.y) * -mspeed;
fonm.x += (mouseX - herom.x) * -mspeed;
Он работает и фон скроллится относительно героя в нужном направлении, но чем дальше мышь от героя тем быстрее скроллится фон, а я хочу добиться чтоб фон скроллился с одной скоростью в независимости от того как далеко мышь от herom. Подскажите пожалуйста как такого добиться. Спасибо.

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

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
maxScrollSpeed ?
__________________
Flash мертв жив!

Старый 23.01.2016, 23:36
scorp2007 вне форума Посмотреть профиль Отправить личное сообщение для scorp2007 Найти все сообщения от scorp2007
  № 3  
Ответить с цитированием
scorp2007

Регистрация: Feb 2013
Сообщений: 24
Цитата:
Сообщение от zCHESNOKz Посмотреть сообщение
maxScrollSpeed ?
набив поста или что это?

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

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от scorp2007 Посмотреть сообщение
набив поста или что это?
набив чего? а что если просто ограничить максимальную скорость скролла
__________________
Flash мертв жив!

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

Регистрация: Oct 2006
Сообщений: 2,249
приводи смещение к фиксированной длине:
Код AS3:
var v:Point = new Point((mouseX - herom.x) * -mspeed,(mouseY - herom.y) * -mspeed);
var target_v:Number=10;//желаемая скорость
var l:Number=v.length;
if (l>0) {
v.x=v.x/l*target_v;
v.y=v.y/l*target_v;
fonm.x += v.x;
fonm.y += v.y;
}

Старый 24.01.2016, 00:04
scorp2007 вне форума Посмотреть профиль Отправить личное сообщение для scorp2007 Найти все сообщения от scorp2007
  № 6  
Ответить с цитированием
scorp2007

Регистрация: Feb 2013
Сообщений: 24
Цитата:
Сообщение от zCHESNOKz Посмотреть сообщение
набив чего? а что если просто ограничить максимальную скорость скролла
нужна именно фиксированная, потому что мешает не только слишком большая скорость при большом расстоянии но и слишком маленькая при близком...

Добавлено через 32 секунды
Цитата:
Сообщение от undefined Посмотреть сообщение
приводи смещение к фиксированной длине:
Код AS3:
var v:Point = new Point((mouseX - herom.x) * -mspeed,(mouseY - herom.y) * -mspeed);
var target_v:Number=10;//желаемая скорость
var l:Number=v.length;
if (l>0) {
v.x=v.x/l*target_v;
v.y=v.y/l*target_v;
fonm.y += v.x;
fonm.x += v.y;
}
Вот спасибо! Сейчас опробую
Опробовал, работает, класс!


Последний раз редактировалось scorp2007; 24.01.2016 в 00:17.
Старый 24.01.2016, 03:21
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 7  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
А так не будет работать?
Код AS3:
var v:Point = new Point(herom.x - mouseX, herom.y - mouseY); // 
v.normalize(10); // желаемая скорость
fonm.x += v.x;
fonm.y += v.y;
__________________
Поймай яблоко 2!

Старый 24.01.2016, 15:00
SpeakerG вне форума Посмотреть профиль Отправить личное сообщение для SpeakerG Найти все сообщения от SpeakerG
  № 8  
Ответить с цитированием
SpeakerG

Регистрация: Jan 2016
Сообщений: 32
Может просто поставить условие:
Если мышь справа от героя - сдвигать фон влево на заданную скорость;
Если мышь снизу - сдвигать фон вверх на заданную скорость;
И т.д.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,428
Цитата:
Если мышь справа от героя - сдвигать фон влево на заданную скорость;
Если мышь снизу - сдвигать фон вверх на заданную скорость;
Здесь должен учитываться угол — герой как-бы идет в направлении мышки. Скорость по X и по Y разная и зависит от этого угла, а не просто "влево/вправо". Другими словами, вот эту вашу "заданную скорость" и надо задать, она не константна.
__________________
Reality.getBounds(this);

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

Регистрация: Jan 2016
Сообщений: 32
а, я чет подумал что у него скроллинг ток по 4 сторонам)

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

Теги
скролл мышью , скролл фона , скроллинг , фон
Опции темы
Опции просмотра

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

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


 


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


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