A neat little thing... with nightly updates
Project description
r3frame is a collection of modules designed to bring structure to your next game project, without hindrance.
Installation
Install r3frame via pip:
pip install r3frame2
r3 Playground
Once installed, you can run the r3frame playground demo by typing:
r3playground
This will launch an interactive example that is actively maintained and used to showcase r3frame's capabilities.
Quick Start
Getting started is as simple as the following code:
import r3frame2 as r3
class MyScene(r3.app.R3scene):
def __init__(self, app):
super().__init__(app)
def init(self):
# load an R3entity
self.database.load_entity("player", [100, 100])
# query said entity and toggle physics on it
self.player = self.database.query_entity("player")
self.physics.toggle(self.player)
def exit(self): pass
def events(self):
# handle movement along the x-axis
if self.app.events.key_held(self.app.keyboard.A):
self.physics.set_velocity(self.player, dx=-100)
if self.app.events.key_held(self.app.keyboard.D):
self.physics.set_velocity(self.player, dx=100)
# handle movement along the y-axis
if self.app.events.key_held(self.app.keyboard.W):
self.physics.set_velocity(self.player, dy=-100)
if self.app.events.key_held(self.app.keyboard.S):
self.physics.set_velocity(self.player, dy=100)
def update(self, dt: float): pass
def render(self):
# queue a render call for our player
# or render our player immediately
self.renderer.queue(self.player)
# self.renderer.render(self.player)
class MyApp(r3.app.R3app):
def __init__(self):
super().__init__(title="MyApp")
def init(self):
self.add_scene("player", MyScene)
self.set_scene("player")
def exit(self): pass
MyApp().run()
Contributing
Want to help improve r3frame? Feel free to contribute by submitting issues, suggesting features, or making pull requests!
License
r3frame is open-source under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
r3frame2-0.0.5.tar.gz
(21.5 kB
view details)
File details
Details for the file r3frame2-0.0.5.tar.gz.
File metadata
- Download URL: r3frame2-0.0.5.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2376ffb3259cd852f60d4fd6606b1207ad49dda632f7dabe2264f393e73336c2
|
|
| MD5 |
29b0940f768ff99cfed5d900789d589c
|
|
| BLAKE2b-256 |
e364498562db741c981be08882d114baa0d395b35edb8b06e858b049f329e858
|