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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 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. Причина: не работали ссылки
Создать новую тему   Часовой пояс GMT +4, время: 00:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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