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.6.post1.tar.gz
(36.0 kB
view details)
File details
Details for the file r3frame2-0.0.6.post1.tar.gz.
File metadata
- Download URL: r3frame2-0.0.6.post1.tar.gz
- Upload date:
- Size: 36.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4222a049ee3edb1d5672b951444f7a61bb94008d9b9d487a3de835296a5416e5
|
|
| MD5 |
af68250ce53fffbd58b5e1ecd8d47eec
|
|
| BLAKE2b-256 |
865bac52104fe17d8f14e931ac061810e04f792f5f613207b42025ec371998f3
|