特定の範囲でクリックした際の動作ではgetkeyで左クリックが押された&mousex及びmouseyでマウスの座標を所得して
実現してます。
例えば、
とあった場合、(x,y)=(0~100,0~100)でクリックされたら「範囲内でクリックされました」とでます。
repeat getkey click, 1 if(click = 1 && 0 <= mousex && mousex <= 100 && 0 <= mousey && mousey <= 100){ mes "範囲内でクリックされました" break } wait 1 loop
これは範囲が四角形であるがために条件が短いですが、円を長方形の集まりと考えた際に、以上のやり方で
実現しようと考えたら長い条件式となってしまいます。
上記では、「+」を中心から80離れた位置に表示つまり円を描いているのですが、
screen 0,300,300 i = 0 repeat 360 dx = cos(deg2rad(i)) * 80 + 150 dy = sin(deg2rad(i)) * 80 + 120 //dx dyの80は半径、150と120は円の中心を真ん中に持ってくるため pos dx, dy :mes "+" i++ wait 1 loop
この360個の座標を用いて長方形をイメージし、それら360個の長方形の範囲内である&クリックされた
これで実現できるのではないか?と考えております。
円の範囲内を表現する方法がこれしか浮かばずとても苦戦しております。
こうした方がよい、このような方法があるなど教えていただければと思います。
質問の方よろしくお願いします