![]() |
0 Всего найдено: 15
Kashkarow
Сообщение
17/06/2008 14:57
Копия темы
Отследить нажатие Esc в браузере . Есть флеш видео плеер, воспроизводит видео на странице сайта. В первом кадре под катом fscommand("trapallkeys", "true"); Key.addListener(this); this.onKeyDown = function():Void { if (Key.getCode() == Key.ESCAPE) { if (_root.fullscreen = "1") { //// //////Здесь ресайзим навигацию, это я пропустил //// _root.fullscreen = "0"; Stage.displayState = "normal"; }}}; Если смотреть через брузер флэшка не получает нажатие Esc, просто при нажатии возвращается в нормальный режим (видно, силами браузера) но не восстанавливает назад панель навигации и всё остальное, то есть код вообще не срабатывает. Мне кажется, что вместо fscommand("trapallkeys", "true"); нужно использовать что-то другое, так как эта комманда не "замыкает" горячие клавиши в браузере, а только если смотреть через флеш-плеер. Кто-то сталкивался с таким?
mayakwd
Сообщение
17/06/2008 15:12
Копия темы
. решение такое. использовать Stage.onFullScreen, либо использовать Stage.onResize, не пытаясь отлавливать нажатие ESC
tigersoft
Сообщение
17/06/2008 15:20
Копия темы
. "if (_root.fullscreen = "1") { //// //////Здесь ресайзим навигацию, это я пропустил ////" в этой строчке не нужно так: if (_root.fullscreen == "1") { ?
mayakwd
Сообщение
17/06/2008 15:22
Копия темы
. :D +1 но все таки лучше не надо отлавливать ESC мне кажется...
Kashkarow
Сообщение
17/06/2008 15:27
Копия темы
. Я этого как-то и не заметил) Но это абсолютно не меняет сути! :)
Kashkarow
Сообщение
17/06/2008 15:49
Копия темы
. Честно говоря, пока нет) Делаю так: stage.align = "TL" ; stage.scale = "noscale" ; var stageListener:Object = new Object() ; stageListener.onResize = function() { trace("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); //////здесь ресайзы + сдвигаю один элемент вправо, чтобы видеть что код работает Stage.displayState = "normal"; }; stage.addListener(stageListener); В итоге при экспорте и просмотре во флэш-редакторе если начинаю ресайзить окно плеера я вижу и трейсер, и сдвиг мувиклипа) Если зайти в папку с флэшкой и открыть её через стандартный флэш-плеер, трейсера я конечно не вижу, но и сдвигов мувиклипа тоже... не работает листенер :"((
mayakwd
Сообщение
17/06/2008 16:03
Копия темы
проверил. всё работает ) . создаем на сцене мувиклипчик например mcCircle (кружочек). создаем на сцене так же кнопочку чтобы тестить обзовем её btnFullScreen втыкаем следующий код на кадр: // init stage Stage.align = "TL" ; Stage.scaleMode = "noscale" ; // button fullscreen action btnFullScreen.onRelease = function () { if (Stage.displayState=="fullScreen") Stage.displayState="normal"; else Stage.displayState="fullScreen"; } // init stage listener var stageListener = ; stageListener.onResize = function () { mcCircle._x=(Stage.width/2)-mcCircle._width; } Stage.addListener(stageListener); компилируем, запускаем (не из ide, потому что scaleMode все равно поменяется так как это особенность режима тестирования).
Kashkarow
Сообщение
17/06/2008 16:15
Копия темы
. Ну не работает, хоть плачь!) в Stage.scaleMode = "noscale" ; ещё и ошибку выдаёт, нужно чтобы было stage..
Kashkarow
Сообщение
17/06/2008 16:27
Копия темы
0
уррррра! . Заработало)) Загвоздка была в stage.scale = "noscale" ; Когда нужно Stage.scaleMode = "noscale" ; Огромное Спасибо! Дальше уже сам буду разбираться) ![]() |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |