|
|
|||||
[+1.3 02.08.06]
|
Как сделать fullscreen условием?
Не додумался иначе назвать тему.
В общем, проблема такая. Есть фильм что идёт по кругу. Хочу сделать 2 различные по внешнему виду кнопки: "fullscreen on" и "fullscreen off". При этом чтобы в зависимости от режима экрана отображалась только нужная кнопка. Например, если делаю фуллскрин кнопка закрыть появлялась а открыть - исчезала. Я на кнопки написал: on (release) { fscommand ("fullscreen", false); _root.but1._visible=false; _root.but2._visible=true; В начале фильма же мне нужно чтобы "on" была видимая, а "off" - невидимая. Пытаюсь создать условие для видимости кнопок в 1-м кадре но чтобы не прописывал в if () ничего не отключает видимость кнопки off. Пытался и if (fscommand ("fullscreen", false)) {... и if (fullscreen == false)) {... также if (fscommand("fullscreen") == false) {... ничего не работает Пол дня копаюсь как же сделать так чтобы мувик распознал состояние фулскрина в 1-м кадре и сделать это условием для отображения кнопки. Догадываюсь, что есть масса способов как решить пролему иначе но меня интересует именно этот способ. Спасибо. Последний раз редактировалось Seraf; 11.06.2010 в 23:28. |
|
|||||
Регистрация: Jun 2008
Сообщений: 56
|
Отключить fullscreen средствами AS невозможно. Необходимо, чтобы юзер нажал esc.
Иначе, никак. Это азбука. |
|
|||||
[+1.3 02.08.06]
|
хм... какраз как отключить я знаю и на кнопке off у меня висит:
on (release) { fscommand ("fullscreen", false); _root.but1._visible=false; _root.but2._visible=true; } То есть, если в 1-м кадре в начальном кадре нет никакого фулскрина, то кнопка "fullscreen off" должна быть невидимой. Но если уже при включенном fullscreen мувик опять вернулся на этот 1-й кадр то конечно не должен скрывать эту кнопку. В общем, в 1-м кадре обект должен скрываться только когда обычный режим отображения (не fullscreen). |
|
|||||
Модрон-ветеринар
|
Чаще заглядывайте в хелп, он есть. Есть такой обработчик классный - Stage.onFullScreen handler,
его как раз и нужно использовать для отслеживания изменения режима: var stageListener:Object = new Object(); Stage.addListener(stageListener); stageListener.onFullScreen = fScreen; function fScreen(full:Boolean) { if (full) //вот оно, ваше условие { //действия для режима полного экрана, //например видимость кнопки включения обычного режима } else { //действия для нормального режима //например видимость кнопки включения режима полного экрана } } И завязывайте писать код на кнопках, это неприлично и самое главное, неудобно. Зачем вам больше одного кадра, объясните ради бога... Последний раз редактировалось mooncar; 12.06.2010 в 02:10. |
|
|||||
[+1.3 02.08.06]
|
Задача сделать презентационный мувик который будут крутить на плазме локально с компа всякие девочки продавцы совсем не сведущие во флеш. Вот и хочу для них сделать кнопки входа и выхода в режимы.
Пытаюсь делать как могу ибо я художник а не программер. Спасибо за код но он пока не работает. Повесил его в 1-м кадре. По-идее если нет фулскрина он должен скрывать кнопку "off" но файл запускается с 2-мя и off и on. ps swf файл я открываю из папки Последний раз редактировалось Seraf; 12.06.2010 в 02:21. |
|
|||||
Модрон-ветеринар
|
Значит, неправильно используете. Он "работает". Секундочку... пример будет.
|
|
|||||
Модрон-ветеринар
|
Смотрите как нужно.
Можно еще проще сделать, но я постарался не проще, а понятнее, это не одно и то же. Содержимое кладите и управляйте им внутри большого мувика (с фоном который), используйте его таймлайн. Так будет правильно. PS. Естественно, тестим вне программы, запускаем уже скомпилированную флешку. Последний раз редактировалось mooncar; 12.06.2010 в 02:41. |
|
|||||
Модрон-ветеринар
|
Цитата:
Более того, режим может быть включен и выключен автоматически, с таймлайна. Смотрите пример auto_fullscree. Единственное, чего нельзя добиться - это автозапуска полноэкранного режима, когда флешка опубликована на странице, но при этом она благополучно может из него автоматически выйти, посредством кода AS. (См. пример auto_fullscreen_html). Последний раз редактировалось mooncar; 12.06.2010 в 02:56. |
|
|||||
[+1.3 02.08.06]
|
Спасибо. Это стоит использовать. Насчёт того, что код будет мне полностью понятен Вы конечно погорячились. Пока всё где присутствует "var" - для меня тёмный лес.
Вы показали как я писал в 1-м посте "другой" более крутой метод. Нельзя ли просто в 1-м кадре написать какойто командой типа: if (fscommand("fullscreen") == false) то видимость кнопки = false? Без переменных "для чайников".... Последний раз редактировалось Seraf; 12.06.2010 в 03:42. |
|
|||||
Модрон-ветеринар
|
Так в языке записать нельзя. У вас так ничего не проверится.
Собственно, условие проверки полноэкранности, еще раз, повторюсь без var stageListener= new Object(); //этот новый объект Stage.addListener(stageListener); //этот объект будет теперь слушать состояние сцены stageListener.onFullScreen = function (full) //обработка событий слушателя при изменени режима полный/нормальный { if (full) //вот оно, ваше условие: если состояние аргумента функции обработчика истинно, то есть если у нас полный экран { //действия для режима полного экрана, //например видимость кнопки включения обычного режима } else //иначе { //действия для нормального режима //например видимость кнопки включения режима полного экрана } } Можно еще проще (для записи, но не для понимания): Stage.addListener(this); //теперь слушать состояние сцены будет сам текущий объект (таймлайн) this.onFullScreen = function (full) { if (full) { //действия для режима полного экрана, //например видимость кнопки включения обычного режима } else { //действия для нормального режима //например видимость кнопки включения режима полного экрана } } var fullScr:Boolean = false ; //следим с помощью флага за состоянием полнооэкранности fsb.onRelease = function() { //при нажатии: if (!fullScr) //если состояние флага = false, то есть у нас норм. режим сейчас, тогда { Stage.displayState = 'fullscreen'; //включаем полный режим fsb.btn_norm._visible = true ; //управление видимостью содержимого кнопки fsb.btn_full._visible = false ; fullScr = true ; //переключаем флаг } else //если состояние флага = true, то есть если у нас сейчас полный экран { Stage.displayState = 'normal'; //тогда включаем нормальный режим fsb.btn_norm._visible = false ; fsb.btn_full._visible = true ; fullScr = false ; //переключаем флаг } }; Последний раз редактировалось mooncar; 12.06.2010 в 03:34. |
Часовой пояс GMT +4, время: 09:58. |
|
« Предыдущая тема | Следующая тема » |
|
|