grollという命令で画面自体をずらすことが可能となります
サンプル
screen 0,740,580,0,-1,-1,640,480
color 200,200,200
repeat ginfo(26)/10
line cnt*10,-1,cnt*10,ginfo(27)
loop
repeat ginfo(27)/10
line -1,cnt*10,ginfo(26),cnt*10
loop
color
pos 150,150
mes "A"
pos 200,200
mes "B"
onclick gosub *click
stop
*click
mx = mousex+screenadd_x
my = mousey+screenadd_y
repeat
getkey cli,1
screenadd_x = limit((mx-mousex),0,100)
screenadd_y = limit((my-mousey),0,100)
groll screenadd_x,screenadd_y
await 16
if cli = 0:break
loop
return
ちと厄介な命令なので解説を
まずgroll命令は、初期化された大きさの分しか移動させることが出来ません
なのでscreen命令で740x580で初期化し、640x480を表示させています
この場合動かせる範囲は100x100pxとなります
また、groll命令ずらした分、mousexなの座標取得系の命令も一緒にずれます
なので
mx = mousex+screenadd_x
my = mousey+screenadd_y
の部分でずらした文をmousexの取得座標に足してやることで解決しています
ごめんなさい、いま非常に眠いので間違っているかもしれないです
考えてもわからない所があればまた聞いてください