![]() |
И снова: ПРАВЫЙ КЛИК
Сразу оговорюсь - я делала поиск по форуму, пробовала приведенные рецепты, читала ссылки "из лужи к звездам", но ответа не нашла. И теперь задаю вопрос в форуме.
Я пишу интерактивную флэш-обучалку по одному программному продукту. А правый клик в продукте, использованию которого учит моя обучалка, играет не последнюю роль. Более того, в обучалке встроен реалтаймовый симулятор продукта, чтобы пользователь смог наработать реакцию перед тем, как приступать к диспетчерской работе. Поэтому правый клик НУЖЕН. Если его заменить на что-то другое - это будет похоже на подготовку к реальным автогонкам на автосимуляторе с мышкой и клавиатурой. Как бы ты мастерски ни управлял машиной с помощью мышки и клавиатуры - умения владеть реальным рулем это не прибавит. То, что я сделала, почитав форум, выглядит так: onRightClick = function() { // обрабатываю правый клик } this.menu = new ContextMenu(MAIN.onRightClick); Во флэш-редакторе работает замечательно - именно так, как надо: по нажатию правой кнопкой на объекте выскакивает контекстное меню для данного объекта. Во флэш-плеере несколько хуже - поверх моего контекстного меню отрисовывается стандартное флэшевское. В браузере (Firefox 1.5.0.6, MSIE 6.0) мое меню вообще не появляется - только стандартное флэшовое. Использую Flash Proofessional 8. Посоветуйте, как можно реализовать в ролике перехват и обработку правого клика? Обучалка представляет собой HTML-браузер с вставленными в текст интерактивными flash-роликами (тесты, практикумы, демонстрации) и предназначена не для веба, а для standalone-работы. Так что если какое-то сочетание браузер/флэш-плеер позволит добиться нужного результата - это было бы отлично. |
Вопрос: обработчик onRightClick ты сам придумал?
|
2BigDan: придумалА :)
|
Цитата:
|
onRightClick - просто моя функция, которую я "вешаю" на контекстное меню. Ок, поменяла имя обработчика, чтобы уж точно не случилось совпадения с какой-нибудь системной фичей:
_global.MAIN = this; NaPravyClick = function() {/* Код обработчика */} this.menu = new ContextMenu(MAIN.NaPravyClick); Тот же результат - в редакторе замечательно, в плеере добавляется системное меню, а в браузере - есть системное меню, но мой код не работает. |
Оговариваюсь в 1489 раз - КОНТЕКСТНОЕ МЕНЮ ЧИСТО ИЗ ФЛЭША УБРАТЬ НЕЛЬЗЯ.
Нет нет, что вы я не кричу, это чтобы понятнее :) Ты можеш А) использовать класс контекстоного меню внося свои изминения Б) при помощи потустороних програм отредактировать ехе файл и убрать В) написать 20 писем с недовольстом в макромедия (уже в Адоб) Г) придумать такой алгоритм убирания меню, какого ещё никто не придумал. 4 варианта - 4 пути. Дело за тобой. Чтобы ты не выбрала я желаю тебе удачи от чистого сердца. Да да, если достучишся до пункта 3, или же до пункта 4 (ОГО) Тогда обязательно напиши на флэшер :) |
Тогда вопрос такой: возможна ли обработка правого клика в директоре?
|
Если это desktop application то можно поступить так:
1) Делать из swf exe с помощью MDM Zinc или ему подобных 2) Расковырять exe'шник например ResHack'ом |
Цитата:
|
А умные кодеры для КПК придумали прикольную фичу.. для сенсорных моников держишь стилус 5 сек и сробатывает Евент как буд-то правый клик и все...
А я бы юзал класс контесктного Меню и не парился... подумашеь будет висеть Абаут адобе |
Цитата:
И все-таки повторю вопрос - можно ли в "Директоре" отслеживать правый клик? Вопрос номер два. Мне подсказали вариант: "повесить поверх ролика DIV и перехватывать нажатия". К сожалению, узнать у автора совета подробнее, как реализовать эту идею, я не могу. Может, кто-то может объяснить, как перехватывать в браузере клики и перенаправлять их во флэш? |
черех javascript, но для этого нужно этот язык знать (и это только в IE рабртает). а файл EXE вас не устроит?
|
Цитата:
EXE не устроит - так как учебник уже представляет собой набор HTML-страниц с гиперссылками и встроенными flash-роликами. |
Написать на javascript потребуется только отслеживание события мыши (перемещение, нажатие, отпускание) и передавать событие и координаты во флэш. Конечно, во флэше начнется геморрой с обработкой мышиных событий, но с этим я смогу разобраться.
ну именно так. вот пример перехвата событий. (можете там на форуме вопрос задать) http://www.softtime.ru/javascript/dragndrop.php |
Кстати, попробовала реализовать аналоги описанного по ссылкам:
http://www.flasher.ru/src/single/%7Bsrc.pg=1688%7D http://www.flasher.ru/src/single/%7Bsrc.pg=2047%7D Примеры, по словам автора, демонстрируют передачу мышиных событий из JavaScript во Flash-ролик. Сначала очень удивлялась, почему то, что работает у автора, у меня категорически отказывается работать. Потом обнаружила, что авторские ролики прекрасно работают и без JS, и даже вообще безо всякого браузера - и текст колесиком скроллится, и бублик крутится вслед за мышкой. То есть этим роликам нет нужды что-то брать из JS. У меня же ничего не работало потому, что я пыталась выводить на экран данные, которые должен был прислать JS - а он ничего не присылал. Ролики запускала, как и требовал автор, в MSIE 6. Впрочем, его ролики прекрасно шли и под Firefox, и безо всякого браузера вообще ;) Может, я чего-то не поняла... |
а кто-нить может написать пример,
как это сделать (обработчик правой кнопки во флеше)? мне как-то невдомек +) |
| Часовой пояс GMT +4, время: 15:09. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.