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

DZHETIGAPA 01.03.2011 00:37

Я понимаю, что ты написал. Я все так изначально и делал, но все равно не работало. Так что спасибо за пост:)

Я щас ушел от MOUSE_OVER MOUSE_OUT, а подписался на событие MOUSE_MOVE, ввел там логические переменные и все заработало:)

_Ice_ 01.03.2011 00:49

Не используй переменную е два раза. Проблема в этом. Замени второй раз е на любую другую переменную

private function onOver(e:MouseEvent):void
private function onOut(v:MouseEvent):void

DZHETIGAPA 01.03.2011 01:02

Цитата:

Сообщение от _Ice_ (Сообщение 977111)
Не используй переменную е два раза. Проблема в этом. Замени второй раз е на любую другую переменную

private function onOver(e:MouseEvent):void
private function onOut(v:MouseEvent):void

Попробовал. Ничего не изменилось.

cr0w312 01.03.2011 01:18

Цитата:

Сообщение от DZHETIGAPA (Сообщение 977109)
Я понимаю, что ты написал. Я все так изначально и делал, но все равно не работало. Так что спасибо за пост:)

Я щас ушел от MOUSE_OVER MOUSE_OUT, а подписался на событие MOUSE_MOVE, ввел там логические переменные и все заработало:)

рад, что все разрешилось, но подмитать можно и веником и ломиком:)

DZHETIGAPA 01.03.2011 01:21

Но почему он "глючит", так и не выяснилось.

cr0w312 01.03.2011 15:47

он не глючит, он так работает. если ты создаешь контейнер для спрайта или мувика, добавляешь его в сцену и цепляешь к нему слушатель MouseEvent, событие не сработает пока ты не добавишь что-нибудь видимое.
также и сдесь, DisplayObject3D не воспринимает события мыши MouseEvent, но воспринимает события InteractiveScene3DEvent такие как
Код AS3:

InteractiveScene3DEvent.OBJECT_ADDED
OBJECT_CLICK
OBJECT_DOUBLE_CLICK
OBJECT_MOVE
OBJECT_OUT
OBJECT_OVER
OBJECT_PRESS
OBJECT_RELEASE и OBJECT_RELEASE_OUTSIDE

но для того, чтобы события сработали, нужно, чтобы объект был покрыт интерактивным материалом
Код AS3:

object3d.material.interactive = true;

и чтобы текущий вьюпорт был интерактивным
Код AS3:

viewport.interactive = true;

и не будет никаких глюков, все будет как задумано.

Alexd21 01.03.2011 20:02

проверьте свои графические объекты на сцене, если они сотоят из разных объектов, то объедините их в один. (breackappart) . Иначе может возникать ваша проблема, а event.target.name будет принимать всегда разные значения.


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

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