1if(collidePointEllipse(x, y, hx[i], hy[i], l[i], 高さ)){
js
1const hx =[200];2const hy =[200];3const l =[200];45let radio;6let slider;78functionsetup(){9createCanvas(400,400);10rectMode(CENTER);1112 radio =createRadio();13['rect','circle','ellipse'].forEach(x=> radio.option(x));14 radio.selected('rect');1516 slider =createSlider(100,300);17}1819functiondraw(){20background(200);2122const x = mouseX;23const y = mouseY;24const h = slider.value();// 楕円高さ2526for(let i =0; i <1; i++){27fill(255);2829switch(radio.value()){3031case'rect':// 矩形での当たり判定の場合32if(hx[i]- l[i]/2<= x && x <= hx[i]+ l[i]/233&& hy[i]- h /2<= y && y <= hy[i]+ h /2){34fill('red');35}36ellipse(hx[i], hy[i], l[i], h);3738noFill();39rect(hx[i], hy[i], l[i], h);// 当たり判定エリア(矩形)40break;4142case'circle':// 円での当たり判定の場合43if(dist(x, y, hx[i], hy[i])<= l[i]/2){44fill('red');45}46ellipse(hx[i], hy[i], l[i], h);4748noFill();49circle(hx[i], hy[i], l[i]);// 当たり判定エリア(円)50break;5152case'ellipse':// 楕円での当たり判定の場合53if(collidePointEllipse(x, y, hx[i], hy[i], l[i], h)){54fill('red');55}56ellipse(hx[i], hy[i], l[i], h);57break;58}59}60}