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

Menu
    this.get("Friction").valueScale = 40
    // ball falling
    var g = this.get("Gravity"),
        s = 0.0001,
        friction = this.get("Friction"),
        ground = this.get("Ground"),
        ball = this.get("Ball");
    always: {
        priority: "high"
        ball.getPosition().equals(ball.getPosition().addPt(pt(
            0, ball.velocity * system.dt * s
        )))
    }
    always: {
        priority: "high"
        ball.velocity == (ball.velocity +
            g.getScaledValue() * system.dt -
            ((ball.velocity > 0 ? 1 : -1) * friction.getScaledValue()));
    }
    // reflection
    always: {
        solver: trigger
        callback: (function() { ball.velocity = -Math.abs(ball.velocity); })
        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
X
saved source