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
[
[250, 150, 600, 15],
[710, 275, 600, 15],
[250, 400, 600, 15],
[710, 525, 600, 15]
].each((ar, i) => {
let f = display.rect(...ar)
f.angle = (i == 1 || i == 3) ? -15 : 15
f.color = color.clear
let ang = ((f.y / display.height * 360) + 180) % 360
f.borderColor = color.hsb(f.y / display.height * 360, 55, 95)
f.borderWidth = 2
physics.add(f, { kinematic: true })
f.animate({ t: 2000, autoreverse: true }, (to) => {
to.angle += (i == 1 || i == 3) ? 10 : -10
})
})
repeat(200, () => {
let c = display.circle(100, 50, 5)
c.color = color.hsb(0, 55, 95)
physics.add(c, { friction: 0.5, bounce: 0.7, density: 1 })
})
update(() => {
display.each("circle", (el) => {
el.ifOnEdgeContinue()
el.color.hue = el.y / display.height * 360
})
})
btn = ui.button("Flip!", 100, 540)
btn.action(() => {
let g = physics.gravity
physics.setGravity(0, -g.y)
})
[
[250, 150, 600, 15],
[710, 275, 600, 15],
[250, 400, 600, 15],
[710, 525, 600, 15]
].each((ar, i) => {
let f = display.rect(...ar)
f.angle = (i == 1 || i == 3) ? -15 : 15
f.color = color.clear
let ang = ((f.y / display.height * 360) + 180) % 360
f.borderColor = color.hsb(f.y / display.height * 360, 55, 95)
f.borderWidth = 2
physics.add(f, { kinematic: true })
f.animate({ t: 2000, autoreverse: true }, (to) => {
to.angle += (i == 1 || i == 3) ? 10 : -10
})
})
repeat(200, () => {
let c = display.circle(100, 50, 5)
c.color = color.hsb(0, 55, 95)
physics.add(c, { friction: 0.5, bounce: 0.7, density: 1 })
})
update(() => {
display.each("circle", (el) => {
el.ifOnEdgeContinue()
el.color.hue = el.y / display.height * 360
})
})
btn = ui.button("Flip!", 100, 540)
btn.action(() => {
let g = physics.gravity
physics.setGravity(0, -g.y)
})