depth: 1
reset
bbb.system().stop()
bbb.system().time = 0
bbb.system().start()
bbb.system().time
bbb.system().stepTime = 40
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
show vars
JavaScript Workspace
X

Menu
        ground = this.get("Ground"),
        ball = this.get("Ball"),
        falling;
    always: {
        priority: "high"
        ball.getPosition().equals(ball.getPosition().addPt(pt(
            0, ball.velocity * system.dt * s
        )))
    }
    always: {
        priority: "high"
        name: falling
        ball.velocity == (ball.velocity +
            g * system.dt * s -
            (ball.velocity > 0 ? friction : -friction));
    }
    // reflection
    always: {
        solver: trigger
        callback: (function() {
            if (CL.approx(ball.velocity, 0)) {
                falling.disable();
                ball.velocity = 0;
            }
            ball.velocity = -Math.abs(ball.velocity);
            ball.setPosition(pt(ball.getPosition().x, ground.getPosition().y));
        })
        ground.getPosition().y <= ball.getPosition().y
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<lively.morphic.Morph#6AB50... - Ball>
Tag:
run
save
Tests

-- ALL --
reset
Scripts
-
+
-
Connections
+
-- ALL --
all
ObjectEditor -- Ball>>reset
X

Menu
saved source
X