Comments (8)
The issue with keyboard events is really weird, because the left and right arrow keys work for me.
(One issue I do know is that on Mac OS X, you have to run the application from the .app bundle, not from the command line. Not sure if that is relevant here.)
Concerning the "Game -> New bug", I can reproduce this and it's indeed a bug internal to Reactive.Banana.PushIO
. Thanks for catching this! Confusingly, it only happens when you compile the package via cabal, not when you compile all modules by hand. Looks like I messed up with unsafePerformIO
and inlining.
from reactive-banana.
Figured out how the "Game -> New" bug works: it's due to a secret dependence of the compile
function on some global mutable state. Fortunately, I intended to exorcise this anyway, so I'll do that sooner rather than later now. (I sure hope that the Purely Functional Inquisition won't hear of my use of mutable state, or I'll be in for some exorcising myself...)
from reactive-banana.
(1) Hmm. Now when I create a new game, I get a whole second window, but the original window still runs! :D
(2) It looks like I could already print key events, and now I'm wondering if event1 f keyboard
is ever triggered at all, here...
from reactive-banana.
(1) Now, this is a feature, not a bug. ;-) The example is basically a direct port from the wxAsteroids example, which has the same behavior.
(2) I'm stumped. Does the original wxAsteroids example have the same problem?
If not, what happens if you delete lines 80 and 81, i.e. the two additional on (charKey ..)
events?
from reactive-banana.
(1) Aha.
(2) Yes, it has the same problem! Hmmm.
from reactive-banana.
(2) In that case, I can't do much. :-( Maybe your OS / windowing system doesn't support key events on frames and you have to wrap the game area into a panel? You can also try to ask on the wxHaskell mailing lists, but they're not very active.
from reactive-banana.
I have updated the wxAsteroids example to use a panel (commit 5a94ae3). Does it work now?
from reactive-banana.
The left and right arrows and the CTRL-N combo work as expected now. :)
from reactive-banana.
Related Issues (20)
- `reactive-banana` can't be compiled on GHC 9.2 HOT 2
- I created a Matrix channel HOT 8
- An interesting `Applicative`-ish way of combining `Event`s HOT 4
- Add `MonadMoment` instances for all monad transformers in `transformers` HOT 1
- Release 1.3.0.0 HOT 3
- Join Stackage HOT 4
- `Behavior` constantly re-evaluating when caching is expected HOT 4
- Unexpected memory growth HOT 6
- Event handler not seeing early events. HOT 12
- `Behavior`s can hold onto more memory than they need to HOT 2
- Memory leak with dynamic behavior switching HOT 16
- Gloss GUI events not responding HOT 5
- Idea: add a combinator to track when a behavior is a different value HOT 14
- Call `unregister` for garbage collected events made by `AddHandler`. HOT 9
- Discrepancy in model and implementation HOT 15
- Optimize representation of Latch HOT 1
- Not compatible with these-1.2 (disallowed) HOT 2
- Simultaneous events can have undefined behavior within execute HOT 2
- source-code formatter? HOT 2
- Accept deepseq-1.5 HOT 2
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 reactive-banana.