用途別リファレンス - オブジェクトを動かす - 上下左右に移動させる
Player
x=$screenWidth/2;
y=$screenHeight/2;
while(true){
if(getkey("right")>0) x+=3;
if(getkey("left")>0) x-=3;
if(getkey("down")>0) y+=3;
if(getkey("up")>0) y-=3;
//★ここから画面端の判定
if(x<0) x=0;
if(x>$screenWidth) x=$screenWidth;
if(y<0) y=0;
if(y>$screenHeight)y=$screenHeight;
update();
}
画面端(左がx=0,右がx=$screenWidth,上がy=0,下がy=$screenHeight)を設定して、それを超えそうになったら画面端に戻るようにしています。
★以降の部分は、clampメソッドを利用することもできます。
clamp(a,min,max)
は、a
がmin
~max
の範囲内ならa
自身を、範囲をはみ出していれば、範囲内の一番近い値を返します。
Player
x=$screenWidth/2;
y=$screenHeight/2;
while(true){
if(getkey("right")>0) x+=3;
if(getkey("left")>0) x-=3;
if(getkey("down")>0) y+=3;
if(getkey("up")>0) y-=3;
//★ここから画面端の判定
x=clamp(x,0,$screenWidth);
y=clamp(y,0,$screenHeight);
update();
}