用途別リファレンス - オブジェクトを動かす - 上下左右に移動させる

オブジェクトが画面端から出ないようにする

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)は、aminmaxの範囲内なら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();
}