Web Analytics Made Easy -
StatCounter Question about HTML5 game focus - CodingForum


No announcement yet.

Question about HTML5 game focus

  • Filter
  • Time
  • Show
Clear All
new posts

  • Question about HTML5 game focus

    Let's suppose that we have an HTML5 game that is inside a web page where you can click a button to make it full screen if you want. With either choice, in order to start the game, the users have to click inside the game canvas to give mouse focus to the game. If they don't, then they can move the mouse pointer around, but they are restricted to the edges of the screen, when the mouse pointer stops at the edge, the lookaround inside the game stops as well. When they click inside the canvas of the game, a message shows up from the browser saying "windows.net has control of your pointer. Press Esc to take back control."

    The user basically walks around a gallery with paintings on the walls. When the user is in front of a painting, he or she clicks the left mouse button, and a full screen overlay appears with some information, it's something called a "widget". At this point, the game has a command to show the mouse pointer, because some of these overlays have hyperlinks that will open websites in the user's default browser.

    The way this is intended to work, and it does perfectly in the game engine (Unreal Engine 4.23) and builds to both macOS and Win64, is that when the user clicks the right mouse button, the full screen overlay closes and the user is back on the game, where he or she can keep walking around and taking a look at other paintings. The problem I have is that when the user left clicks on the painting and this opens the overlay and also shows the mouse pointer, that releases the mouse focus from the game to the system. And in the HTML5 version, when the user closes the overlay, the mouse focus doesn't return to the game, it stays in the system. This is a huge problem for me because I need the focus to go back to the game, because if the user left clicks in the same position, then the overlay will open again, and it will be confusing. I know this thing so I know that I can walk back until I'm not close to the painting and then click, and I will go back in the game without triggering the overlay to open.

    So since the game works as intended in every other way, and only does this in HTML5, it seems to me that this is a restriction browsers have, for which they don't allow any code to grab the mouse focus unless the user clicks inside it first. Am I making a correct assumption?