Python port of a subset of the Processing API
Project description
Plus5
Python3 port of a subset of the Processing API.
Inspired by p5, Plus5 uses PyGame library to implement a subset of the Processing API. It's in an early stage but works very fast, thanks to PyGame.
Requirements
The current requirements are Python3 and PyGame. PyGame uses Simple Directmedia Layer (SDL). In order to use fonts, sdl2-ttf must be also installed in the systems.
- Python3
- PyGame >= 1.9.
- libsdl2-ttf
Plus5, Python3, PyGame and SDL are supported in multiple operating systems (Linux, Windows, Mac).
Installation
Using pip
$ pip install -r requirements.txt
$ pip install plus5
Using git
$ git clone https://github.com/vrruiz/plus5/
$ cd plus5/
$ python3 setup.py install
libsdl2-ttf
In some operating systems, this library must be installed manually.
Usage
Example. A rectangle follows the mouse pointer.
from plus5 import *
def setup():
size(500,500)
def draw():
background(127,0,0)
stroke(255)
fill(0,127,0)
rect(mouseX - 25, mouseY - 25, 50, 50)
run()
Reference
Usually, the calls are the same as in Processing.py Reference.
Structure
draw()
exit()
noLoop()
setup()
size(width, height)
redraw()
run()
Environment
delay(milliseconds)
displayHeight
displayWidth
frameCount
frameRate
height
size()
width
Color
background(color)
color(color)
fill(color)
noFill()
noStroke()
stroke(width)
strokeWeight(weight)
Input
key
keyCode
keyIsPressed
keyPressed()
keyReleased()
mouseIsPressed
mousePressed()
mouseReleased()
mouseX
mouseY
pmouseX
pmouseY
Output
save()
Shape
arc(x, y, width, height, start, stop)
circle(a, b, extent)
ellipse(x, y, width, height)
line(x1, y1, x2, y2)
point(x, y)
quad(x1, y1, x2, y2, x3, y3, x4, y4)
rect(x, y, width, height)
square(a, b, extent)
triangle(x1, y1, x2, y2, x3, y3)
Text
text(string, x, y)
textSize(size)
textFont(font, size)
loadFont(name)
createFont(name, size)
Image
loadImage(filename)
image(img, x, y)
Math
acos(value)
asin(value)
atan(value)
atan2(y, x)
ceil(n)
cos(radians)
degrees(radians)
exp(n)
floor(n)
log(n)
radians(degrees)
sin(radians)
sqrt(n)
tan(radians)
Constants
PI = 3.14159265358979323846
TWO_PI = 6.28318530717958647693
HALF_PI =1.57079632679489661923
TAU = 6.28318530717958647693
HALF_PI = 0.7853982
Tutorials
Author
Víctor R. Ruiz rvr@linotipo.es
License
MIT
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.