Comments (4)
You'll run into a bunch of issues if you recreate the window inside an input press event. I recommend doing it on release instead.
from love.
It might also be a good idea to use an event bus, for example:
function love.changescreenmode(width, height)
love.window.setMode(width, height)
end
function love.keypressed(key)
if key == "f" and love.keyboard.isDown("lctrl") then
love.event.push("changescreenmode", 800, 600)
end
end
The event execution will be delayed until the next frame, so you can collect everything what you need in current.
from love.
I think SDL assumes that all keys/buttons are in an unpressed state when it creates a window because any keypress that happened prior to the window being created is considered to be outside the scope or "jurisdiction" of the window. The input event system ignores keypresses and mouse clicks that happen outside the window and the isDown() states need to correspond with the events received. However, in the case of subsequent windows being created (such as toggling fullscreen) maybe the handover from one window to another could be handled better because even though it's a new window there is (or should be) continuity in the application.
Something that might not be too difficult to fix: When you hold down a mouse button in relative mode (with grabbed pointer) during a love.window.setMode() call the grab stops functioning and the pointer can leave the confines of the newly created window. I think this can be solved by re-grabbing the new window. I tried this using Win32 API calls and it worked. I'm not sure if this is an issue for Love2D or SDL.
from love.
love 12 doesn't destroy and recreate the window when setMode is called, so this shouldn't be an issue anymore with that version.
from love.
Related Issues (20)
- (Android/IOS) Display rotation control HOT 1
- [Linux] Add better packaging/distribution options HOT 20
- Brew install fails on macOS with: Error : SHA256 mismatch HOT 1
- Mouse is not updating on right / bottom screen edge (DPI scale > 100%) HOT 7
- Add a way to get Video duration
- Android Depth Buffer HOT 2
- remove the arbitrary 10x near/far plane scaling in the default projection matrix HOT 12
- Improve documentation about the window's depth buffer HOT 2
- Feature request: more performant anti-aliasing. Like FXAA or TAA. HOT 3
- Depth writes not writing to set mipmap HOT 2
- t.window.resizble = false doesn't work on android with LOVE 12 HOT 5
- Documentation: optional didactic "Implementation Details" section HOT 12
- symbol not found in flat namespace (___PHYSFS_platformCalcBaseDir) HOT 3
- allow for vectors in positions and sizes HOT 5
- error: call to member function 'WriteNumber' is ambiguous HOT 4
- Undefined symbols linking for macOS building with CMake
- [12.0] EXR encode/export produces swizzled image content (ABGR instead of RGBA) HOT 8
- love.keyboard.isDown is incorrect after dragging the game window
- Physics fixture/shape :setMask bits are inverted in love compared to box2d
- setColor and setBackgroundColor color component values don't work when using ranges 0-255 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from love.