JSFiddle - React, Tailwind, and code Playground

by Tgwizman

HTML

<h2 id="classes">Classes</h2>

<ul>
<li>Window</li>

<li>Vector</li>
</ul>

<h2 id="vector">Vector</h2>

<pre><code>from engine import Vector
point = Vector(3, 4)
angle = AngDist(0, 0).fromVector(point).angle
print(angle)
# prints 5
</code></pre>

<h2 id="events">Events</h2>

<ul>
<li>onLoad</li>

<li>onLoop</li>

<li>onMouseMove</li>

<li>onMouseButton</li>

<li>onKey</li>

<li>onQuit</li>
</ul>

<h2 id="addeventtowindow">Add event to window</h2>

<pre><code>def MyFunc(event):
    # do stuff
window.addHandler('onMouseMove', MyFunc)
</code></pre>

<ul>
<li><p>onLoad()</p></li>

<li><p>onLoop()</p></li>

<li><p>onMouseMove(event)
event.button
event.pressed
event.pos</p></li>

<li><p>onMouseButton(event)
event.button
event.pressed
event.pos</p></li>

<li><p>onKey(key, pressed)</p></li>

<li><p>onQuit()</p></li>
</ul>

<h2 id="window">Window</h2>

<pre><code># import
from engine import Window

# make window
window = Window('My window title')

window.setSize(x, y)

window.size

window.run()

window.quit()
</code></pre>

<h2 id="windowdrawing">window drawing</h2>

<pre><code>window.fillRect(color, xy, wh)

window.loadImage(path)

window.drawImage(path, xy, resize=wh, angle=angle)

window.setFont(fontFamily, size)

window.drawText(text, color, xy)
</code></pre>

<h2 id="windowsound">window sound</h2>

<pre><code>window.loadSound(path)

window.playSound(path)
</code></pre>

<h2 id="windowinteraction">window interaction</h2>

<pre><code>window.addHandler(type, func)

window.getKey(keyStr)

window.getMousePos()
</code></pre>

<h2 id="example">Example</h2>

<pre><code>from engine import Window

window = Window('Example')
window.setSize(320, 240)
box_x = 10

def Logic():
    global box_x
    if window.getKey('left'): box_x -= 0.1
    if window.getKey('right'): box_x += 0.1

def Render():
    window.fillRect((255, 255, 255), (0, 0), window.size)
    window.fillRect((0, 0, 0), (box_x, 10), (20, 40))

def onLoop():
    Logic()
    Render()
window.addHandler('onLoop',...