Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Формула нахождения ячейки в сетке (http://www.flasher.ru/forum/showthread.php?t=151838)

Alexmody 07.03.2011 00:20

Формула нахождения ячейки в сетке
 
Подскажите формулу нахождения ячейки в регулярной сетке, над которой завис курсор.
Т.е. чтобы не перебирать каждую ячейку в массиве и не тестить hitTestPoint().

В итоге формула должна дать индекс ячейки в массиве.

DZHETIGAPA 07.03.2011 00:26

А что за регулярная сетка? Что из себя представляет?

Alexmody 07.03.2011 00:33

Регулярная сетка это когда множество сеточных узлов является упорядоченными.
http://ru.wikipedia.org/wiki/%D1%E5%...F2%ED%E0%FF%29

Но у меня сетка еще проще, все ячейки одного размера и упорядочны.

in4core 07.03.2011 00:38

Ну смотрите, допустим у вас ячейки это спрайты ( созданные в цикле - образующие сетку ). Создаем
Код AS3:

public var id:int;

в классе ячейки. И когда через цикл создаем сетку пишем :
Код AS3:

cell.id = i;

Вешаем событие клика на ячейку и проверям trace(id)

Alexmody 07.03.2011 00:47

Цитата:

Сообщение от in4core (Сообщение 978520)
Ну смотрите, допустим у вас ячейки это спрайты ( созданные в цикле - образующие сетку ). Создаем
Код AS3:

public var id:int;

в классе ячейки. И когда через цикл создаем сетку пишем :
Код AS3:

cell.id = i;

Вешаем событие клика на ячейку и проверям trace(id)

Спасибо, я знаю этот вариант, т.е. основанный на событии ковера, клика.
Но мне бы хотелось бы сделать именно формулой, когда у нас известны размеры сетки (ширина/высота), размер ячейки, и позиция курсора.
Данная формула может пригодиться еще при реализации для фильтрации обрабатываемых объектов (сетка, quadtree и пр.)
Но данный момент формула нужна для обычного инвентаря.

Ну и плюс не надо на каждую ячейку вешать событие/события.

Добавлено через 51 минуту
Вроде формула работает, как описал proxiServer: http://www.flasher.ru/forum/showthre...F7%E5%E9%EA%E8


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

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