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
- strech-back-release-physics.js
- stretch-front-release-physics.js
- stretch-front-release.js
- drag-drop2.js
physics
showcase
tests
user-interface
clown.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
pl = display.emoji("🤡")
rt = display.rect(100, 100, 10, 10)
update(() => {
rt.color = color.hsb(rt.angle, 75, 95)
})
timer.every(1000, () => {
rt.animate({
duration: 400,
easing: Easing.easeInOutCubic
}, (to) => {
to.position = random.pos()
to.size = random.size()
to.angle = random.num(0, 360)
})
})
stn = ui.button("Start", (display.width / 2) - 50, 100)
stn.action(() => {
pl.animate({
duration: 1000,
delay: 400,
autoreverse: true,
easing: Easing.easeInOutCubic
}, (to) => {
to.position = random.pos()
to.angle = 720
to.size = {
width: pl.size.width * 4,
height: pl.size.height * 4
}
}, (retval) => {
print("completed!", retval)
})
})
btn = ui.button("Stop", (display.width / 2) + 50, 100)
btn.action(() => {
pl.stopAnimations()
})