xxxxxxxxxx
179
let ring_canvas;
let drop_canvas;
let bgcol_canvas;
let stage_radius = 440;
let dragging = false;
let stagepos_x;
let stagepos_y;
let printing = false;
let current_picked_drop;
let snd;
function preload(){
snd = loadSound("blipi.wav");
}
function setup() {
let height_ovr = 120;
if(height<stage_radius+height_ovr){
//height_ovr = -(height-stage_radius);
}
createCanvas(stage_radius, stage_radius+height_ovr);
stagepos_x = stage_radius/2;
stagepos_y = stage_radius/2;
textAlign(CENTER);
ring_canvas = createGraphics(width,height);
drop_canvas = createGraphics(width,height);
bgcol_canvas = createGraphics(width,height);
iniUI();
randomRings(); // draw a random ring
changeBgCol();
random_emoji();
/*
drawingContext.shadowOffsetX = 2;
drawingContext.shadowOffsetY = 2;
drawingContext.shadowBlur = 4;
drawingContext.shadowColor = "#000000CC"
*/
}
function draw() {
clear();
imageMode(CORNER);
image(bgcol_canvas,0,0);
image(ring_canvas,0,0);
drawBrush();
image(drop_canvas,0,0);
if(dragging){
if(picked_drop){
picked_drop.x = mouseX;
picked_drop.y = mouseY;
//text(picked_drop.str,mouseX,mouseY);
updateDrops();
}
}
}
function mousePressed(){
//console.log("mouseDown" + last_picked_drop);
let brush_dist = dist(brush_root_x,brush_root_y,mouseX,mouseY);
//console.log(brush_dist);
if(brush_dist < brush_size*1.3){
// create new drop to place it!
picked_drop = createNewDrop(mouseX,mouseY,current_brush);
picked_drop.size = brush_size;
// set_size_slider();
}else{
// click within STAGE
let cpd = returnPickedEmojiDROP();
if(cpd != false){
picked_drop = returnPickedEmojiDROP();
}
if(picked_drop){
putDropOnTop(picked_drop);
//picked_drop.size = brush_size;
brush_size = picked_drop.size;
};
}
dragging = true;
}
function mouseReleased(){
dragging = false;
if(picked_drop){
// get distance of drop to stagecenter
let cdist = dist(picked_drop.x,picked_drop.y,stagepos_x,stagepos_y);
if(cdist>stage_radius/2.6){
removeFromDrops(picked_drop);
}
}
updateDrops();
if(picked_drop != null){
last_picked_drop = picked_drop;
}
picked_drop = null;
//console.log("mouseUp" + last_picked_drop);
}