Метод StartFullScreen() не работает с использованием Phaser-2.4.4

Я новичок в разработке игр с использованием Phaser-2.4.4. В настоящее время я работаю над игрой, в которой мне нужно установить полноэкранный режим в моем браузере. Сначала я создаю игровой объект, а затем вызываю полноэкранный метод, он вообще не работает.

var game = new Phaser.Game(1920, 1080, Phaser.AUTO, '', {preload : preload,create :create, update : update});

game.scale.startFullScreen();

ошибка

Failed to execute 'requestFullScreen' on 'Element': API can only be initiated by a user gesture.
Phaser.ScaleManager: requestFullscreen failed or device does not support the Fullscreen API

пожалуйста, помогите и дайте мне знать, что мне не хватает.


person GulZaib Amjed    schedule 23.10.2015    source источник
comment
Не могли бы вы предоставить минимальный рабочий пример вашей проблемы, например, на jsfiddle? Невозможно сделать вывод, где вы вызываете startFullScreen(), какова ваша цель рендеринга и т. д. Кроме того, на каком браузере/устройстве вы тестируете свое решение?   -  person Krystian Laskowski    schedule 24.10.2015
comment
Я согласен с Кристианом, предоставляя фрагмент кода, который легче отлаживать вашу проблему.   -  person Shohanur Rahaman    schedule 24.10.2015


Ответы (1)


Это просто потому, что вы не можете запустить полноэкранный режим без взаимодействия с пользователем. Фрагмент кода, который на самом деле говорит «перейти в полноэкранный режим», должен быть результатом того, что пользователь щелкнул что-то (что угодно).

Это ограничение браузера, а не проблема Phaser.

Я бы предложил следовать стандартной практике и разместить кнопку «перейти в полноэкранный режим», чтобы у пользователя был выбор.

person Chris    schedule 29.10.2015
comment
спасибо, я понял, что для запуска этого должен быть вход от пользователя. теперь я хочу отключить кнопку Esc для выхода из полноэкранного режима. Я хочу запустить игру в полноэкранном режиме. как только он сработает, он не выйдет до конца. как я могу добиться этого, поскольку я знаю, что поведение при выходе из API, как я могу справиться с этим ??? - person GulZaib Amjed; 02.11.2015
comment
Вы должны пометить этот вопрос / ответ как завершенный (для будущих читателей) и открыть новый вопрос, чтобы ответить на ваш новый запрос. - person Chris; 03.11.2015
comment
@GulZaibAmjed Если это браузерная игра, вам не следует принудительно открывать полноэкранный режим до тех пор, пока игра не выйдет - это противоречит одной из основных целей, которых пытается достичь среда HTML5, отказываясь от сильных плагинов, которые берут под контроль клиентская машина. Если пользователю не нужен полноэкранный режим, это его выбор. - person Chris; 05.11.2015