iced-counter2
detonator
Our great sponsors
iced-counter2 | detonator | |
---|---|---|
1 | 9 | |
0 | 264 | |
- | - | |
0.0 | 9.8 | |
over 2 years ago | 25 days ago | |
Rust | C++ | |
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
iced-counter2
-
Iced: A cross-platform GUI library for Rust, inspired by Elm
The iced package requires the messages to implement the Debug, Clone, and Send traits, none of which are available for closures. I was able to implement something similar to your example[0] but it only supports plain function pointers for the callbacks. The compiler wasn't able to derive a sufficiently general Debug trait for the function pointer due to an issue with the lifetime of the argument, so I had to implement that myself as well.
Incidentally, as long as there are situations where only function pointers can be used and not closures it would be really nice to have some support for anonymous function pointers in Rust (with the fn type and not just the Fn trait) so that one could write e.g. "Message(fn |c| c.value += 1)" instead of "Message({ fn f(c: &mut Counter) { c.value += 1 } f })". Or just infer the fn type for "closures" which don't actually close over any variables without the need for an extra keyword.
[0] https://github.com/nybble41/iced-counter2/blob/master/src/ma...
detonator
- Show HN: Detonator2D a 2D game engine and editor
- GitHub - ensisoft/gamestudio: 2D game engine and editor
- 2D Game engine and editor for Windows and Linux
- GameStudio: Yet Another 2D Game engine and editor for Windows and Linux
- Show HN: 2D Game engine and editor for Windows and Linux
-
Iced: A cross-platform GUI library for Rust, inspired by Elm
I agree with your point. In fact it's the approach I'm doing myself in my current UI lib (which has a very specific use case but the point still applies).
https://github.com/ensisoft/gamestudio/blob/master/uikit/win...
-
RG3D (Rust game engine) feature highlights
If you're interested in a 2D engine you might be interested in https://github.com/ensisoft/gamestudio
What are some alternatives?
wry - Cross-platform WebView library in Rust for Tauri.
arewegameyet - The repository for https://arewegameyet.rs
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
StationIapetus - 3rd person shooter in the very early development phase
iced - Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua
rusty-shooter - [suspended] 3d shooter written in Rust using rg3d
Druid - Apache Druid: a high performance real-time analytics database.
RAG3 - Top-down single/multiplayer shooter game with time manipulation mechanics.
iced - A cross-platform GUI library for Rust, inspired by Elm
awesome-bevy - A collection of Bevy assets, plugins, learning resources, and apps made by the community
webrender - A GPU-based renderer for the web
GDevelop - :video_game: Open-source, cross-platform game engine designed to be used by everyone.