![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 177
|
Для реализации "своего" курсора, использую нижеуказанный код, но по определенным причинам мне нужно обойтись без ф-ии
e.updateAfterEvent(); (в некоторых дебаг версиях плеера fps падает до 5, хотя в релизной версии вроде все норм). В событии используется ф-я e.updateAfterEvent(), чтобы клип-курсор плавно двигался за скрытым системным курсором, если убрать данную ф-ю, то начинается отставание клипа-курсора, что выглядит очень плохо. Если ли решение плавности передвижения без использования updateAfterEvent(). |
|
|||||
|
а вот эта тема уже не актуальна?
вообще, нужно отказаться от mouseMove события и перерисовывать положение курсора по enterFrame в общем обработчике. Я для этих целей обычно пишу статический класс типа CursorManager в нем создается экземпляр курсора и в методе update курсор переставляется в нужное положение. public static function update():void { myCursor.x = stage.mouseX; myCursor.y = stage.mouseY; } updateAfterEvent() принудительно вызывает перерисовку всего контента в окне флеш плеера, что очень накладно в плане производительности, если вызов этой функции происходит часто. А по mouseMove так и будет |
|
|||||
|
Попробуйте использовать системный курсор:
В любом случае производительность в debug FP всегда будет ниже чем в обычном. Почему Вас вообще волнует производительность в debug плеере? Не стоит расчитывать на то, что вашу игру/приложение будут использовать в дебаг флешке (а если и будут, то это их личные проблемы), потомучто у большинства пользователей стоит обычный плеер. Если же Вам не удобно программировать и тестить флешку, то либо закоментируйте эту строку на время разработки, либо (что лучше) используйте условную компиляцию.
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 177
|
caseyryan
а вот эта тема уже не актуальна? - да, но решил пойти несколько другим путем отказаться от накладной ф-ии updateAfterEvent(), потому и создал новую тему. >>вообще, нужно отказаться от mouseMove события и перерисовывать положение курсора по enterFrame в общем обработчике. Интересно, а как на практике, перерисовка курсора в enterFrame дает плавность передвижения (эффект отставания клипа-курсора исчезает)? Upd: попробовал на практике (заменить mouse_move на enter_frame), при макс 31 fps в игре, отставание и дерганье своего курсора сильно заметны. Inet_PC >>В любом случае производительность в debug FP всегда будет ниже чем в обычном. Потому что, при вызове updateAfterEvent() fps падает с 31 до 3-5 (если своим курсором по экрану быстро водить), в релизной версии нет падения даже на 1 fps. Более того, я потестил в некоторых старых и новых версиях оконного дебаг плеера, этого бага нет, все также работает, как в релизной версии. Последний раз редактировалось Alexmody; 13.08.2012 в 12:12. |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
Во флексе, не помню как, можно назначать классы для курсоров. Через CursorManager, что-ли. Найду у себя - напишу подробнее.
|
|
|||||
|
Для версии флешплеера выше 10.3 и курсоров размером меньше 32x32 можно использовать системный курсор, тогда плавность его перемещения вообще не будет зависеть от fps (анимированный тоже поддерживается)
Как выглядит применение системного курсора: http://vk.com/app3030551 |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|