A neat little thing... with nightly updates
Project description
r3frame2 is a collection of modules, classes and utilities designed to bring structure to your next project, without hindrance. Providing a robust and extensible development framework for many kinds of multimedia applications.
Installation
Install r3frame via pip:
pip install r3frame2
r3 Playground
Once installed, you can run the 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_transform(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 (0x0000 = Opaque Render Phase)
self.renderer.queue(r3.resource.R3renderCall(0x0000, self.player.pos, self.player.surface))
class MyApp(r3.app.R3app):
def __init__(self):
super().__init__(title="MyApp")
def init(self):
self.add_scene("playground", MyScene)
self.set_scene("playground")
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.7.post3.tar.gz
(36.2 kB
view details)
File details
Details for the file r3frame2-0.0.7.post3.tar.gz.
File metadata
- Download URL: r3frame2-0.0.7.post3.tar.gz
- Upload date:
- Size: 36.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00ae108a3bfac38f4039c513899f0282d893cfa02e9add516d7fc0a9c8af8c68
|
|
| MD5 |
67c24bbde2fae89658cf283ad8db1086
|
|
| BLAKE2b-256 |
6f10df58d3d06347c31ed2af5c1a7eb3106ff8ce0deaf696c16464d621d25dec
|