PDA

Просмотр полной версии : Странное поведение курсора и кнопки


DarkLight
14.08.2006, 17:31
В общем такая проблема.
На сцене есть клип cursor.
Есть код:
Mouse.hide();
cursor.startDrag(true);

Так же на сцене клип buttons, в нем клип endTurn и код:
var $et:MovieClip = buttons.endTurn;
function nextMove(was:MouseEvent):void {
trace("nextMove")
}
$et.addEventListener("mouseUp",nextMove);

Почему-то поведение кода зависит от их глубины.
Если кнопка над курсором - все работает.
Если курсор над кнопкой - нет трейса
Если отключить Drag и не делать Mouse.hide(); - никаких проблем.

Вопросы
1) Как заставить работать курсор над кнопкой
2) Почему происходит такое поведение?

DarkLight
14.08.2006, 23:33
Дополнение к вопросу:
Проблема возникает только при startDrag(true), при false все работает...

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

Если курсор добавляется динамически, ничего не работает...т е проблема именно в глубинах...

Чтонить можно попроще сделать в обход этой проблемы?

redbaron
22.08.2006, 14:55
ну если я правильно понял
ты пытаешься подменять курсор мыши
прицепив к нему свой Cursor. через startDrag?

Я конечно не в курсе, что там происходит точно,
но предположительно:

когда ты делаешь startDrag, то при отпускании происходит событие класса DragEvent, т.е. событие MouseUp возможно не диспатчится вообще.

поробуй добавить в класс кнопки
реакцию на DragEvent.DRAG_ENTER и DragEvent.DRAG_DROP

DarkLight
22.08.2006, 15:32
2redbaron
Если бы так...но я даже просто делал приравнивание координат на онМаусМув...онМаусМув влиять не должен...т е не идет даже без стартдрага...

redbaron
22.08.2006, 15:42
хм.
чтож а пошире ты можешь поставить задачу?
и прикерепить существующий код

DarkLight
22.08.2006, 16:11
В общем примерно разобрался. Действительно, событие нижележащего клипа не диспатчится. Дальше уже сам разберусь. Спасибо!