examples

strech-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)
  )
})