Показать сообщение отдельно
Старый 18.09.2006, 17:35
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 5  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Топорный метод : hitTest (коряво , не оптимально - за то просто)
Математический метод : если выделенные клетки всегда будут образовывать прямоугольник, то нужно найти две клетки (верхнюю левую, и нижную правую)

обсцисс верхней левой = Math.floor((прямоугольник.x)/(шаг сетки));
ординат верхней левой = Math.floor((прямоугольник.y)/(шаг сетки));
обсцисс нижней правой = Math.ceil((прямоугольник.x+прямоугольник.width)/(шаг сетки));
ординат нижней правой = Math.ceil((прямоугольник.y+прямоугольник.height)/(шаг сетки));

//шаг сетки=разность координат двух соседних клеток
//остально думаю понятно.
ЗЫ. а функция ближайшего целого числа больше данного - не помню как точно называется. Может и не ceil()
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©


Последний раз редактировалось miramax; 18.09.2006 в 17:39.