![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Mar 2011
Сообщений: 168
|
Здравствуйте. Посмотрел, тем на эту тему не так уж и много, и к сожалению, не нашел подходящей мне. Вообщем, у меня есть объект, который я перетаскиваю на сетку (таблица из квадратных мувиков), он накрывает несколько объектов. Мне нужно знать какие именно мувики он накрыл в данный момент.
|
|
|||||
|
Как устроен проект, что представляет из себя сетка, зачем она нужна?
Где размещаются искомые объекты и тот что таскаете?
__________________
местонахождение |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 168
|
пишу морской бой. сетка - это мувик в котором лежат поля(маленькие мувики). перетаскиваемый объект - корабль. хочу положить корабль на сетку, и при этом как только я его перетащил над сеткой, определенные мувики, допустим подсветились, а затем когда я отпустил эти мувики стали корабликом.
|
|
|||||
|
1. Можно использовать getObjectUnderPoint, и в выдаваемом им списке искать маленькие мувики. Однако, если в этих мувиках еще что-то лежит, то придется рыться и в родителях того, что выдал getObjectUnderPoint.
2. Можно тупо использовать математику: var cellColumn:int = Math.floor(cellContainer.mouseX / cellWidth); var cellRow:int = Math.floor(cellContainer.mouseY / cellHeight); var cell:MovieClip = _cells[cellColumn][cellRow]; Наиболее привлекательным в плане гибкость/простота кажется вариант 2. Последний раз редактировалось expl; 12.08.2011 в 02:45. |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 168
|
может я ошибаюсь, но я так понял что код выдаст мне только одну клетку, над которой находиться стрелочка. А мне нужны все объекты (клетки) над которыми находиться кораблик. Я, впринцепе, предполагаю, что можно с помощью математики рассчитывать, но я надеялся, что есть какие-то более красивые решения, вплане dropTarget. (но он тоже хреновато работает)
|
|
|||||
|
Регистрация: Jun 2011
Сообщений: 31
|
Вам должна быть известна форма корабля и его ориентация в пространстве. Зная это не составит труда посчитать соседние клетки
|
|
|||||
|
Регистрация: Mar 2011
Сообщений: 168
|
я понял, спасибо )))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:01. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|