xxxxxxxxxx
var myFlower
var flowers = []
var bee
var bees = []
function setup() {
createCanvas(windowWidth, windowHeight);
background(0);
for(var i=0;i<20;i++){
let flower = generateRandomFlower()
flowers.push(flower)
}
for(var i=0;i<5;i++){
bees.push(
{x: random(width),y: random(height),speed: random(0.01,0.2)}
)
}
// myFlower = {
// x: width/2,
// y: height/2,
// size: 2,
// color: "#2499f2"
// }
}
function generateRandomFlower(x,y){
return {
x: x || random(width),
y: y || random(height),
size: random(2),
color: random(list)
}
}
function drawFlower(flower){
push()
translate(flower.x,flower.y)
rotate(flower.size)
fill(255, 210, 33)
ellipse(0,0,50)
ellipseMode(CORNER)
fill(255, 90, 61)
fill(flower.color)
for(var i=0;i<16;i++){
ellipse(30,-20,120*flower.size/2,40)
line(30,0,150*flower.size/2,-10)
rotate(PI/8)
}
pop()
}
function drawBee(bee){
push()
translate(bee.x,bee.y)
fill("#ffde23")
ellipse(0,0,50,20)
stroke("#a56a12")
strokeWeight(5)
line(-10, -10,-10,10)
line(0, -10,0,10)
line(10, -10,10,10)
pop()
}
var color1 = "red"
var r1 = 50
var list = ["#efe9e7","#dae0f2","#f9cff2","#52154e","#111344"]
function mousePressed(){
var flower = generateRandomFlower(mouseX,mouseY)
flowers.push(flower)
}
function draw() {
background(0)
for(var i=0;i<flowers.length;i++){
let flower = flowers[i]
drawFlower(flower)
let hasBee = false
// 偵測花朵內有沒有bee
for(var o=0;o<bees.length;o++){
let bee = bees[o]
if (dist(bee.x,bee.y,flower.x,flower.y)<200){
hasBee=true
}
}
if (hasBee){
flower.size=lerp(flower.size,2,0.1)
}else{
flower.size=lerp(flower.size,0,0.1)
}
}
for(var o=0;o<bees.length;o++){
let bee = bees[o]
// bee.x = lerp(bee.x,mouseX,bee.speed)
// bee.y = lerp(bee.y,mouseY,bee.speed)
bee.x += 1
bee.y += 2
drawBee(bee)
}
}