えっと・・・
僕も『もう少し自分でやってみて!』と言おうと思ったら、
先に書き込んだ『考え方一例』にちょっとミスがあったので、
お詫びに やっつけサンプルを書いておきます。
もちろん自分なりに応用を利かせないと、このまんまじゃ使いもんにならないでしょう。
頑張ってみてください。
screen 0,200,400,0,0,100
title "メイン:ここに描いて!"
screen 1,200,400,0,210,100
title "バッファ1"
screen 2,200,400,0,420,100
title "バッファ2"
;↑実際はバッファ画面は『screen』ではなく『buffer』で宣言する。
gsel 0
button gosub "Undo" ,*Undo
A1=0:A2=0
*main
A1=0
stick st,256
if st and 256 {;左クリックで点を打つ
pset mousex,mousey
A1=1
}
if (A2=1)and(A1=0){;Undoバッファに退避させる
gsel 2:pos 0,0:gcopy 1,0,0,200,400
gsel 1:pos 0,0:gcopy 0,0,0,200,400:gsel 0
}
A2=A1:await 10
goto *main
*Undo
gsel 0:pos 0,0:gcopy 2,0,0,200,400
gsel 2:pos 0,0:gcopy 1,0,0,200,400:gsel 0
return