let engine = Matter.Engine.create()
Matter.Runner.run(engine)
ballBody = Matter.Bodies.circle(300, 50, 30)
Matter.Composite.add(engine.world, ballBody)
groundBody = Matter.Bodies.rectangle(targetPosX, targetPosY, 50, 20, {
Matter.Composite.add(engine.world, groundBody)
circle(ballBody.position.x, ballBody.position.y, 60)
function drawShape(body) {
for (let vert of body.vertices) {
if (keyCode === LEFT_ARROW) {
const startVec = Matter.Vector.create(targetPosX, targetPosY)
Matter.Body.setPosition(groundBody, startVec)
if (keyCode === RIGHT_ARROW) {
const startVec = Matter.Vector.create(targetPosX, targetPosY)
Matter.Body.setPosition(groundBody, startVec)
if (keyCode === UP_ARROW) {
const startVec = Matter.Vector.create(targetPosX, targetPosY)
Matter.Body.setPosition(groundBody, startVec)
if (keyCode === DOWN_ARROW) {
const startVec = Matter.Vector.create(targetPosX, targetPosY)
Matter.Body.setPosition(groundBody, startVec)
if (key === LEFT_ARROW) {
const startVec = Matter.Vector.create(targetPosX, targetPosY)
Matter.Body.setPosition(groundBody, startVec)
function mousePressed() {
const startVec = Matter.Vector.create(mouseX, mouseY)
const velocityVec = Matter.Vector.create(0, -5)
Matter.Body.setPosition(ballBody, startVec)
Matter.Body.setVelocity(ballBody, velocityVec)