Форум 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=140808)

petyakurochkin 08.06.2010 18:01

Как получить объекты под мышкой?
 
Собственно, вопрос: есть ли стандартные средства по возврату объектов под мышкой? Мне пока что нужно перетащить яблоко в корзину. Мне не лень проверить объекты и вручную. Т,е. сделать проверку: попадает ли курсор мыши в корзину, при двигающемся яблоке или нет, но хотелось бы какой-либо автоматики на таких простых операциях. Тем более, что эта автоматика, по идее, должна выполняться аппаратно.

Psycho Tiger 08.06.2010 18:06

getObjectsUnderPoint

petyakurochkin 08.06.2010 18:16

Спасибо.

fljot 08.06.2010 18:26

и чего, работает getObjectsUnderPoint()? =)

petyakurochkin 08.06.2010 18:30

Не знаю, работает он или нет. Просто устраиваюсь на работу AS3-программистом, совершенно его не зная. Из знаний только C++, C, Delphi (когда-то давно). Соотв-но общие концепции ООП. Также до этого занимался программированием трёхмерной графики (преимущественно OpenGL).
Везде до этого у меня было всё достаточно универсально и абстрактно и мне не приходилось работать с объектами на прямую. А тут, получается необходимо. Поэтому я и задал вопрос на будущее: какие есть универсальные способы выбора объектов. Ответ получил. Есть ли подводные камни - пока не знаю.

Добавлено через 5 минут
Извиняюсь, вопрос может быть не в тему, но всё-таки:
Где можно получить помощь по нубским вопросам? Имеется ввиду не ЧаВо, конечно, а что-либо типа конференции или типа того.
Например, вопрос: как получить ссылку на объект документа. Я делал так: child.parent.parent...parent. Потом пришёл к выводу, что универсальнее так: Document(stage.getChildAt(0)). Может, есть еще более хороший способ?

Добавлено через 9 минут
Например, яблоки у меня обращаются к корзине так:
1. У объекта-документа есть ссылки на массив яблок и две корзины.
2. В конструкторе яблока и корзины они делают что-то вроде:
Game(stage.getChildAt(0).aApples.push(this)); //Саморегистрация
3. Корзина обращается к яблокам т.о.: Game(stage.getChildAt(0)).aApples(n)); где n - номер яблока.
Правильно ли я делаю с архитектурной точки зрения?

etc 09.06.2010 10:39

Цитата:

Сообщение от petyakurochkin (Сообщение 913972)
Просто устраиваюсь на работу AS3-программистом, совершенно его не зная.

Надеюсь, вас не возьмут.

Помимо stage и parent есть root.

Psycho Tiger 09.06.2010 14:08

parent лучше вообще не пользоваться.

fljot 09.06.2010 16:09

Так вот насчёт getObjectsUnderPoint() — комментарий senocular'а:
Цитата:

getObjectsUnderPoint returns all the objects under a point - that is all the objects at the bottom of the hierarchy. It will not return parent display objects - something that could lead to many many instances being listed in the objects-under-point when your point is over just one object that happens to be nested in a lot of clips. If you need to know those parent objects, you can just walk through the parent properties starting with the bottom-most instance, that which is contained within the getObjectsUnderPoint array.
http://www.kirupa.com/forum/showpost...43&postcount=2

Совсем не очевидное поведение относительно того, что написано в документации:
Цитата:

Returns an array of objects that lie under the specified point and are children (or grandchildren, and so on) of this DisplayObjectContainer instance. Any child objects that are inaccessible for security reasons are omitted from the returned array. To determine whether this security restriction affects the returned array, call the areInaccessibleObjectsUnderPoint() method.

dimarik 09.06.2010 17:06

Проще говоря, вернутся не яблоки, а их составляющие - кожура, семечки и мякоть с хвостиком.


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

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