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

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

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

Регистрация: May 2006
Сообщений: 57
Question Быстрый поиск мувиков под любой точкой

Здравствуйте! Мне необходимо тащить мышкой объект удлиненный и похожий на такой:
Код:
>------------->
Мышкой можно тащить за любую точку объекта. При этом по бокам / в разных местах флэша торчат такие вещи:
Код:
=======|>                        >|=======

=======|>                        >|=======

=======|>                        >|=======

=======|>                        >|=======
Так надо чтобы концы переносимого объекта ловили бы статичные фиговины на карте. Ну похоже на то как мы руками вилку в розетку пихаем. При переносе я отслеживаю радиус вокруг "вилок" объекта в 5 точек и ищу "розетку", чтобы в нее вставить "вилку".
Сейчас это сделано как перебор объектов в _root, но тормозит немеренно, т.к. объектов море. Как это можно сделать быстрее??

Прмечание: размер таскаемого обекта не совпадает с расстоянием между розетками, т.е. потом я его удлиняю. М.б. по типу такого:
Код:
=======|>         |---------->>|=======

=======|>         |           >|=======

=======|>         |           >|=======

=======|>>--------|           >|=======
Но это уже моя забота Главное как под любой точкой на флэше определить объекты под ней МАКСИМАЛЬНО быстро. Может флэш хранит массивчик двумерный... Я не знаю... Помогите....

Старый 20.05.2006, 22:17
Beta-tester вне форума Посмотреть профиль Отправить личное сообщение для Beta-tester Найти все сообщения от Beta-tester
  № 2  
Ответить с цитированием
Beta-tester

Регистрация: Jul 2005
Сообщений: 154
А свой масивчик координат завести, а потом вычислить делая поправки на радиус(вобщем при желании можно исхитрится самому).
Это тоже может время занять, но не столько, сколько перебор!

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

Регистрация: May 2006
Сообщений: 57
Свой делал... Я вообще делаю как...
Есть классы, каждый из который занимается своим делом: один - изменяет альфу с X на Y, второй - организует цикл, третий - очередь, а четвертый - движение мышкой. И допустим у меня есть класс типа (пишу примерно):

Код:
class Krug extends MovieClip {
  var moving : Mover = new Mover(this);

 ...

  onMouseDown() {
    if(мыша внутри) Mover.goAction();
  }
  onMouseUp() {
    if(мыша внутри) Mover.stopAction();
  }

}
И так можно для любого объекта. Где Mover - класс, организующий перемещение любого объекта. Также сделана и склейка объектов. Т.е. просто внутрь нужных объектов вставляется экземпляр класса.
При этом про запуске метода goAction() устанавливается callback функция на интервал времени... доп на 10 мсек... Т.о. ваш класс мувика ни о чем не заботится. Просто вызывает goAction и все. И через каждые 10 мсек срабатывает классы движения с склейки. Если мыша переместилась, класс движения переместит мувик, а класс склейки проверит окрестность в 5 точек и приклеит объекты.

Все переносимые объекты я добавляю в массив (как Вы и писали), но все равно тормозит...Может просто много функций работает по интервалам? Хотя на примерку только две - перенос и склейка... Не понимаю...

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

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
прочитайте правила и измените пост пожалуйста
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

Регистрация: May 2006
Сообщений: 57
Цитата:
Сообщение от Nirth
прочитайте правила и измените пост пожалуйста
Если Вы про раздел "Код", то в свое оправдание скажу что не знаю, как по другому вставить кучу пробелов для сдвига, HTML всегда урежет пробелы до одного. Если не поэтому, то напишите мне, я не понимаю, что не вяжется с правилами.

Старый 21.05.2006, 00:24
0xFFFFFF вне форума Посмотреть профиль Отправить личное сообщение для 0xFFFFFF Посетить домашнюю страницу 0xFFFFFF Найти все сообщения от 0xFFFFFF
  № 6  
Ответить с цитированием
0xFFFFFF
† Таня Белая
 
Аватар для 0xFFFFFF

Регистрация: Mar 2006
Адрес: Москва
Сообщений: 929
Отправить сообщение для 0xFFFFFF с помощью ICQ Отправить сообщение для 0xFFFFFF с помощью Skype™
Цитата:
Сообщение от World Architect
Есть классы, каждый из который занимается своим делом: один - изменяет альфу с X на Y, второй - организует цикл, третий - очередь, а четвертый - движение мышкой.
во технология.. скоро в отдельные классы будут пихать каждый кусочек кода.. каждая функция классом станет..
__________________
Flashress' Blogue

Старый 21.05.2006, 00:26
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 7  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
во технология.. скоро в отдельные классы будут пихать каждый кусочек кода.. каждая функция классом станет..
если человеку так удобнее почему бы и нет?
вообще паттерн комманда подразумевает под собой всего один публичный метод ( execute() ), так что в одной функции на класс, не вижу ничего удивительного.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 21.05.2006, 00:29
0xFFFFFF вне форума Посмотреть профиль Отправить личное сообщение для 0xFFFFFF Посетить домашнюю страницу 0xFFFFFF Найти все сообщения от 0xFFFFFF
  № 8  
Ответить с цитированием
0xFFFFFF
† Таня Белая
 
Аватар для 0xFFFFFF

Регистрация: Mar 2006
Адрес: Москва
Сообщений: 929
Отправить сообщение для 0xFFFFFF с помощью ICQ Отправить сообщение для 0xFFFFFF с помощью Skype™
а с тобой я не разговариваю.
__________________
Flashress' Blogue

Старый 21.05.2006, 01:48
World Architect вне форума Посмотреть профиль Отправить личное сообщение для World Architect Найти все сообщения от World Architect
  № 9  
Ответить с цитированием
World Architect

Регистрация: May 2006
Сообщений: 57
Цитата:
Сообщение от Белая
во технология.. скоро в отдельные классы будут пихать каждый кусочек кода.. каждая функция классом станет..
Что плохого в том что добавляя всего одну -две строчки в класс мувика вы снабжаете его всем необходимым для того чтобы его можно было перемещать? Или еще для чего... ИМХО это удобно, если у вас впереди десятка два проекта... Есть общая библиотека и ей можно пользоваться

Старый 21.05.2006, 01:52
0xFFFFFF вне форума Посмотреть профиль Отправить личное сообщение для 0xFFFFFF Посетить домашнюю страницу 0xFFFFFF Найти все сообщения от 0xFFFFFF
  № 10  
Ответить с цитированием
0xFFFFFF
† Таня Белая
 
Аватар для 0xFFFFFF

Регистрация: Mar 2006
Адрес: Москва
Сообщений: 929
Отправить сообщение для 0xFFFFFF с помощью ICQ Отправить сообщение для 0xFFFFFF с помощью Skype™
ничего, это я так.. представила десяток классов по 3-5 строк в каждом..
__________________
Flashress' Blogue

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

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

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


 


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


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