WIM/WIM4.1/tp/tp4/ex2/ballon.tmp.js

63 lines
1.3 KiB
JavaScript
Raw Permalink Normal View History

2022-05-17 12:35:25 +02:00
const canvas = document.querySelector('canvas')
canvas.width = window.innerWidth
canvas.height = window.innerHeight
const c = canvas.getContext('2d')
const circlesCount = 300
const maxRadius = 40
const circleArray = []
const colorArray = [
'#046975',
'#2EA1D4',
'#3BCC2A',
'#FFDF59',
'#FF1D47'
]
const init = () => {
circleArray.length = 0
for (let i = 0; i < circlesCount; i++) {
const radius = Math.random() *maxRadius +1 ;
const x = Math.random() * (innerWidth - radius * 2) + radius
const y = Math.random() * (innerHeight - radius * 2) + radius
const dx = (Math.random() - 0.5) * 2
const dy = (Math.random() - 0.5) * 2
circleArray.push(new Circle(x, y, dx, dy, radius))
}
}
const Circle = function(x, y, dx, dy, radius) {
this.x = x
this.y = y
this.dx = dx
this.dy = dy
this.radius = radius
this.minRadius = radius
this.color = colorArray[Math.floor(Math.random() * colorArray.length)]
this.draw = function() {
// A completer
}
this.update = function() {
// A completer
this.draw()
}
}
const animate = () => {
c.clearRect(0, 0, innerWidth, innerHeight)
for (let i = 0; i < circleArray.length; i++) {
circleArray[i].update()
}
requestAnimationFrame(animate)
}
init()
animate()