examples
_animations
- animating-circles.js
- circle-grid.js
- circles-border-timer.js
- circles-inout.js
- circles.js
- cloud-delay.js
- clown.js
- drops.js
- grid.js
- helloworld-animate.js
- keyframe.js
- shapes-border.js
- square-grid.js
- squares-border-timer.js
- squares-timer-overlap.js
- troll.js
- circles2.js
- helloworld-animate2.js
- keyframe2.js
- keyframe3.js
_audio
_gravity
_particles
_sub
display
movement
- arrows-aim-shoot.js
- arrows-line.js
- arrows-rotate.js
- arrows-shift.js
- arrows-x.js
- arrows-y.js
- drag-drop.js
- falling-click.js
- follow-line.js
- follow-x.js
- follow-y.js
- follow.js
- if-on-edge-bounce.js
- input-aim-shoot.js
- input-point-goto.js
- input-point-moveto.js
- joystick.js
- stretch-back-release-physics.js
- stretch-front-release-physics.js
- stretch-front-release.js
- drag-drop2.js
physics
showcase
tests
user-interface
stretch-back-release-physics.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
world.frame()
elem = display.emoji("🤩", 200, 520)
physics.add(elem, { bounce: 0.6, radius: elem.size.width/2 })
fill(color.hsb(0,0,25))
physics.add(
display.rect(display.width/2, world.height - 25, display.width, 50),
{ static: true }
)
elem.point((e) => {
if (e.began) {
physics.stop(elem)
lin = display.line(elem.position, e.position)
lin.style = LineStyle.dots
}
if (e.updated) {
lin.to({
x: elem.position.x + ((elem.position.x - e.position.x) * 2),
y: elem.position.y + ((elem.position.y - e.position.y) * 2)
})
}
if (e.ended) {
elem.applyImpulse(
elem.position.x - e.position.x,
elem.position.y - e.position.y
)
lin.destroy()
}
})
fill(color.white)
times(10, () => {
display.cloud(
random.pos(),
random.num(5, 20)
)
})
world.frame() elem = display.emoji("🤩", 200, 520) physics.add(elem, { bounce: 0.6, radius: elem.size.width/2 }) fill(color.hsb(0,0,25)) physics.add( display.rect(display.width/2, world.height - 25, display.width, 50), { static: true } ) elem.point((e) => { if (e.began) { physics.stop(elem) lin = display.line(elem.position, e.position) lin.style = LineStyle.dots } if (e.updated) { lin.to({ x: elem.position.x + ((elem.position.x - e.position.x) * 2), y: elem.position.y + ((elem.position.y - e.position.y) * 2) }) } if (e.ended) { elem.applyImpulse( elem.position.x - e.position.x, elem.position.y - e.position.y ) lin.destroy() } }) fill(color.white) times(10, () => { display.cloud( random.pos(), random.num(5, 20) ) })