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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Apr 2004
Адрес: Москва
Сообщений: 26
Отправить сообщение для Art-dir с помощью ICQ
Thumbs up страх перед курсором

Уважаемые флешеры!

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

Может кто знает примеры или хорошие способы реализации?

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

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 2,736
Отправить сообщение для Король с помощью ICQ
хороший способ реазилации - высчитывать расстояние от объекта до курсора с помощью теоремы пифагора и при достижении критической отметки - двигать объект в ту же сторону, в которую двигается курсор

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

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
Цитата:
Сообщение от король
хороший способ реазилации - высчитывать расстояние от объекта до курсора с помощью теоремы пифагора и при достижении критической отметки - двигать объект в ту же сторону, в которую двигается курсор
"двигать объект в ту же сторону, в которую двигается курсор" - лучше посчитать угол и двигать в направлении от курсора. это будет
действительно "трусливый" квадрат.

Старый 13.08.2005, 02:26
Ion вне форума Посмотреть профиль Найти все сообщения от Ion
  № 4  
Ответить с цитированием
Ion
Banned
[5 01.09.2006]

Регистрация: Jun 2005
Сообщений: 1,805
А можно ещё когда по событию onMouseUp высчитывать рандомную координату и оттаскивать туды объект

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

Регистрация: Aug 2005
Адрес: Москва
Сообщений: 211
Отправить сообщение для Niketas с помощью ICQ Отправить сообщение для Niketas с помощью Skype™
Tip готово!

Вот. Сидел, f@ck'ал себе мозги, сделал.
Скорее всего, это не то, что тебе нужно, но тоже ничего. Зато все понятно =)
________________________________

А вот что надо делать:
1. Рисуешь квадрат, F8>Movieclip, называешь quad (имею в виду Instance Name).
2. Создаешь второй кадр, такой же как и первый.
3. В Actions первого пишешь следующий код:
PHP код:
//действие разворачивается при загрузке этого кадра
    
ifFrameLoaded(1) {
    
//высчитаем расстояние от курсора до квадрата
    
var Length;
    
Length int(Math.sqrt((_root._xmouse _root.quad._x)*(_root._xmouse _root.quad._x)+(_root._ymouse _root.quad._y)*(_root._ymouse _root.quad._y)));
    
//если расстояние больше или равно 100 пикселям, то все нормально - квадрат на месте
    //100 - условное значение, при желании его можно регулировать, введя переменную 
    
if (Length>=100) {
        Return;
    }
    
//противный случай: курсор попал в область 100 пикселей от квадрата
    //область имеет форму окружности - для наглядности работы квадрат
    //помещен как раз в такую
    
else {
        
//находим синус и косинус угла между quad и курсором
        
var AngleSin,AngleCos,xWay,yWay,Way;
        
AngleSin = (_root.quad._y-_root._ymouse)/Length;
        
AngleCos = (_root.quad._x-_root._xmouse)/Length
        
//считаем прямой путь
        
Way=100-Length;
        
//считаем путь по координатам
        
xWay=Way*AngleCos;
        
yWay=Way*AngleSin;
        
//перемещаем quad
        
_root.quad._x += xWay;
        
_root.quad._y += yWay;
        
//теперь подумаем, что же должен делать квадрат, перемещаясь за сцену
        //при этом его координаты становятся либо отрицательными, либо больше
        //габаритов сцены
        //для того, чтобы квадрат за сцену не уезжал, он будет упираться в края
        //прямоугольника, отстоящего от сторон сцены на 20 пикселей (чтобы 
        //квадрат не упирался в стенку)
        
if (_root.quad._x<30) {
            
_root.quad._x=30;
        }
        if (
_root.quad._x>520) {
            
_root.quad._x=520;
        }
        if (
_root.quad._y<30) {
            
_root.quad._y=30;
        }
        if (
_root.quad._y>370) {
            
_root.quad._y=370;
        }
        
//радуйтесь!
        
}
}; 
4. Ясен пень, что это не php-код, но так читабельнее - имхо.
5. Следует учитывать, что сцена имеет стандартные размеры 550x400, иначе меняете некоторые значения внизу кода.
6. Если вы хотите разобраться, как же этот бред работает, то вам непременно нужно скачать себе сцену.
7. Если вам лень качать, открывать, разбираться в .fla-сцене, можете потестить готовый swf.
Разобраться: quad.fla
Потестить: quad.swf


Последний раз редактировалось Niketas; 13.08.2005 в 02:36. Причина: не работали ссылки
Старый 13.08.2005, 02:54
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 6  
Ответить с цитированием
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
спаситель!

Старый 13.08.2005, 02:55
Ion вне форума Посмотреть профиль Найти все сообщения от Ion
  № 7  
Ответить с цитированием
Ion
Banned
[5 01.09.2006]

Регистрация: Jun 2005
Сообщений: 1,805
Прикольно, только фла у мя не открылся. Эту тему, кстати над заюзать в Physical Engine, а то там народ (включая меня) уже заворотом мозгов страдать начинает

Старый 13.08.2005, 03:04
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 8  
Ответить с цитированием
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
да в сущности ничем он там не поможет.

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

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
если б желание було, забодяжил бы я физ движок. благо опыт есть. мож подумаю.

Старый 13.08.2005, 03:17
Niketas вне форума Посмотреть профиль Отправить личное сообщение для Niketas Найти все сообщения от Niketas
  № 10  
Ответить с цитированием
Niketas
 
Аватар для Niketas

Регистрация: Aug 2005
Адрес: Москва
Сообщений: 211
Отправить сообщение для Niketas с помощью ICQ Отправить сообщение для Niketas с помощью Skype™
Цитата:
Сообщение от TERRORist
если б желание було, забодяжил бы я физ движок. благо опыт есть. мож подумаю.
Опять ты, чйортофф флэймер
Возвращайся обратно!!!
Цитата:
Сообщение от Ion
Прикольно, только фла у мя не открылся.
Тыкаешь в ссылку, попадаешь на страницу agava. там тыкаешь в файл, и он уже сохраняется. У меня получалось


Последний раз редактировалось Niketas; 13.08.2005 в 03:21.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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