Paddle ← → dengan PyScript

import js, asyncio from pyodide.ffi import create_proxy canvas = js.document.getElementById("kanvas") ctx = canvas.getContext("2d") # Paddle setup pad_w, pad_h = 100, 15 pad_x = (canvas.width - pad_w) / 2 pad_y = canvas.height - pad_h - 20 step = 20 # Event handler def on_key(evt): global pad_x evt.preventDefault() if evt.key in ("ArrowLeft", "Left"): pad_x -= step elif evt.key in ("ArrowRight", "Right"): pad_x += step pad_x = max(0, min(pad_x, canvas.width - pad_w)) # Daftarkan event dengan create_proxy js.window.addEventListener("keydown", create_proxy(on_key)) # Animasi loop async def update(): global pad_x while True: ctx.clearRect(0, 0, canvas.width, canvas.height) ctx.fillStyle = "steelblue" ctx.fillRect(pad_x, pad_y, pad_w, pad_h) await asyncio.sleep(0.01) await update()