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
keyframe2.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
elem = display.emoji("🤩")
btn = ui.button("Click me", display.center.x, 540)
btn.action(() => {
let t = 100
let a = 80
elem.animateKeyframe((anim) => {
anim.keyframe(t, (to) => {
to.angle -= a/2
to.scale = 2
})
anim.keyframe(t, (to) => {
to.angle += a
})
anim.keyframe(t, (to) => {
to.angle -= a
})
anim.keyframe(t, (to) => {
to.angle += a
})
anim.keyframe(t*2, (to) => {
to.angle = 0
to.scale = 1
})
})
})