Как использовать «родные» пользовательские курсоры мыши из Flash-приложений? - PullRequest
3 голосов
/ 16 ноября 2008

Наиболее распространенный способ изменения курсора в приложениях Flash, по-видимому, основан на простом скрытии курсора собственной ОС и , отображающем графическое изображение (нарисованное Flash Player) внутри Вспышка прямоугольник, где (скрытый) курсор будет. Это то, что, например, mx.managers.CursorManager. Причина, по которой я нахожу такой подход неприемлемым, заключается в том, что Flash Player недостаточно быстро обновляет изображение курсора, что приводит к некоторому очень видимому лагу в движении курсора, что, по моему мнению, является довольно фундаментальным удобством проблема и раздражение, заставляющие все приложение казаться медленнее, чем оно есть на самом деле.

С другой стороны, я заметил, что реализация свойства CSS cursor в браузерах работает так, как и должно - т.е. при движении курсора нет видимой задержки используя его для реализации пользовательского курсора мыши.

Итак, мой вопрос: есть ли способ использовать свойство CSS cursor (или любой другой метод, который не включает в себя отставание, медленное перемещение курсора), чтобы изменить курсор поверх прямоугольника Flash?

Я уже пытался изменить свойство стиля cursor для элемента Flash (или оболочки Div вокруг элемента Flash) с помощью JavaScript, но, похоже, оно не сработало. Кто-нибудь успешно сделал что-то подобное?

Ответы [ 6 ]

3 голосов
/ 01 декабря 2010

Собственные курсоры доступны в бета-версии Flash Player 10.2. Так что вы должны попробовать! Смотри: http://www.bytearray.org/?p=2373

1 голос
/ 16 ноября 2008

Я не верю, что у Flash есть какой-либо способ использовать собственные системные курсоры. За 6 лет работы с Flash-разработчиком я никогда не слышал о такой функциональности или взломе.

0 голосов
/ 10 октября 2010

На самом деле вы могли бы сделать это, написав ExternalInterface, который вызывает javascript для обновления курсора мыши. Функциональность jQuery здесь будет хорошо работать, и это то, что я делаю в своем новом портфолио для кнопок и различных областей приложения флэш.

Новый портфель еще не готов, но должен быть в течение следующей недели или двух, если кому интересно, он будет на http://chrismcintoshdesigns.com

0 голосов
/ 17 ноября 2008

Я верю, что Flash Player 10 изначально позволит вам выбрать ibar, перетаскивать руку, палец или обычные курсоры, но если вы находитесь в Flash 9, это невозможно, и я не верю, что CSS-хак тоже подойдет.

Мой совет - используйте событие MOUSE_MOVE для позиционирования графики и установки максимально возможной частоты кадров (например, 50 кадров в секунду).

0 голосов
/ 17 ноября 2008

CursorManager, но у меня не было проблем с задержкой.

Если вы еще не видели его, ознакомьтесь с классами CustomMousePointer Колина Мука. У него есть несколько примеров AS3 и пример кода из его книги Essential AS3, размещенной по адресу http://www.moock.org/eas3/examples/.. Прокрутите вниз или найдите ссылку Custom Mouse Pointer. Это под заголовком главы 22.

Код в этих примерах, между прочим, изначально предназначался для использования разработчиками Flash, поэтому вы можете оптимизировать некоторые из них для Flex, используя объекты, которые недоступны в реализации Flash AS3.

0 голосов
/ 16 ноября 2008

Я понимаю ваши жалобы, я тоже был разочарован тем, насколько медленным может быть обновление дисплея. Размышление о решении использовать CSS для установки стиля курсора в браузере, хотя и является интересным подходом ... Это пахнет, но с самого начала вы можете реализовать контроль над атрибутом курсора CSS из Actionscript, используя ExternalInterface. Таким образом, вы можете предположительно связаться с контейнером HTML, вызывая некоторый Javascript для изменения CSS страницы HTML во время выполнения. Не уверен на 100%, что это сработает, но стоит попробовать, если вы в отчаянии. В противном случае, вероятно, рекомендуется придерживаться CursorManager.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...