![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Apr 2012
Сообщений: 70
|
Добрый день!
Подскажите или Ткните пальцем, пожалуйста, в формулу, которая бы на входе получила координаты клика мышкой и вернула значения индексов ячейки, например (3, 2). Пример моей сетки ниже. Гугл не помогает =( |
|
|||||
|
Напишите на вашей картинке координаты ячеек, а то непонятно где начало координат. Вообще, я в этом случае вешал прослушку клика на ячейки, а в каждой ячейке хранил информацию о ее координатах.
|
|
|||||
|
Регистрация: Apr 2012
Сообщений: 70
|
координаты идут так
0,0 1,0 2,0 3,0 4,0 0,1 1,1 2,1 3,1 4,1 0,2 1,2 2,2 3,2 4,2 прослушку на каждую ячейку? а если у меня будет поле 600 ячеек? 600 листенеров? |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 393
|
Нет, клики же всплывают.
|
|
|||||
|
Регистрация: Apr 2012
Сообщений: 70
|
хм.. если я правильно Вас понял, легче сделать так?
private function drawGrid():void { for (var i:int = 0; i < HexaGrid.grid.length; i++) { for (var j:int = 0; j < HexaGrid.grid[i].length; j++) { add(grid, HexaGrid.getSellPoss(i, j), new Cell(i, j), HexaGrid.grid[i][j]); } } } private function add(cont:Object, coor:Point, cell:Cell, value:int):void { cont.addChild(cell); cell.gotoAndStop(value); cell.x = coor.x; cell.y = coor.y; } Последний раз редактировалось Wazzabi; 18.10.2012 в 21:59. |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 393
|
Ну к координатам вам вообще цепляться-плохая идея, это низкоуровневые детали и должны быть скрыты, по хорошему. Если вам потом нужно будет определять пересечение двух объектов по координатам, или расстояние, или путь, или что-то еще-то должны быть функции от объектов, а не координат.
И на стейдж цеплять не обязательно, логичнее взять общий наименьший для всех гексагональных ячеек предок. |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 70
|
Не знаю, поможет или нет - сам не читал, но в закладках лежало уже давно. Авось пригодится)
http://habrahabr.ru/post/115689/ |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 200
|
у нас в игре персы бегают по гексагонной сетке. координаты гексагона ищем так:
где object содержит координаты клика, а 50 это длина грани гекса, если что пишите - распишу подробнее. алгоритм кстати используем как раз из указанной выше статьи с хабра Последний раз редактировалось bifidokk; 19.10.2012 в 12:22. |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 70
|
спасибо большое, разобрался
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:18. |
|
|
« Предыдущая тема | Следующая тема » |
|
|