Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Input doesn't work in fullscreen #74

Open
ebyron15 opened this issue Nov 16, 2018 · 9 comments
Open

Input doesn't work in fullscreen #74

ebyron15 opened this issue Nov 16, 2018 · 9 comments

Comments

@ebyron15
Copy link

When I use the Phaser function to go to fullscreen, it breaks the phaser-input functionality. I still see the input box and have a blinking cursor but cannot enter any text. If I toggle back out of fullscreen, without reloading the browser page or the game state, the input field works again.

I confirmed that the default setting for input options for zoom is correctly set to false and I'm currently testing on a desktop browser using Chrome.

@halilcakar
Copy link

I can confirm this, also having same issue with fullscreen and phaser-input.

@halilcakar
Copy link

Hey @ebyron15,
I found the problem and fix it for my self. Let me explain to you.
Phaser Input is adding the input element to directly body and if you add your game in another div it's not working.

So for example i change my config like this:

var config = {
     width: 1920,
     height: 1080,
     renderer: Phaser.AUTO,
     fullScreenTarget: document.getElementById('core'), // this line is new for me
     parent: 'core'
};

And also inside phaser-input.js, on var InputElement = .... part, added this instead of this:

document.body.appendChild(this.element);
->
document.getElementById('core').appendChild(this.element);

Just cause my parent div is named core.

Cause my config have fullScreenTarget option, It's changing that div which is core div for me.
And cause they are the same directory like same parent div's(i mean canvas and input element) it's working.

I actually wanted to make the change and make a PR for this. But idk how to edit .ts files 😄
I only change the phaser-input.js, so it's not inside .min or .map or .ts files.

Anyway i changed directly on .js build. But Maybe @AleBles could change and make it for us?

@ebyron15
Copy link
Author

ebyron15 commented Nov 27, 2018 via email

@halilcakar
Copy link

I'm glad that i could help @ebyron15. I hope also they made the changes for us for use properly @AleBles @zBart

@AleBles
Copy link
Member

AleBles commented Nov 27, 2018

@halilcakarr If I understand correctly I can do the following:

  1. First check if fullscreentarget is set, if so, append input to that element
  2. If there is no fullscreen target we'll add it to the parent of the canvas
  3. If all fails we can add it to the body

@halilcakar
Copy link

halilcakar commented Nov 27, 2018

Hey @AleBles,
I think with this update, everything will be fine for now.
For the third option u might wanna add a console.warn() that says: update body like this:

<body id="body">

referanced from @ebyron15

Edit:
If there is no fullScreenTarget is setted, it's not gonna work anyway. Cause when we request a fullscreen on canvas, it wraps it self with a div, in case our input's gonna be seperated and not gonna work again.
So I believe u might wanna change the docs on this.
Maybe we might offer ppl to use same parent and fullScreenTarget div's for phaser or smt.

@ebyron15 Any idea's ?

Edit-2:
I want to ask if is there javascript version of this repo? I mean with webpack kind of this. If there is i would like to keep working on this repo. Cause there will be a lot person to use this with phaser-ce if only if someone* would keep developing this.

@halilcakar
Copy link

Hello @AleBles, Is there any news about this ? :)

@andrewbaranov
Copy link

yeh... we are also waiting for update/fix

@halilcakar
Copy link

Well @andrewbaranov, i just gave up and go through for phaser-v3, which on version 3.16 is gonna possibly come this week, it has a game.dom object with it.

Check the examples on phaser3-examples

So i'm just waiting to Rich to release version 3.16 and then gonna use that instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants