1
objimageという命令があります。
それ以外の方法なら、ボタンの座標とマウスの座標が重なった場合に、ボタンの画像を変えるという方法があります。
repeat
redraw 0
//画面塗りつぶし
color 255,255,255
boxf
//マウスの位置xが0〜50 位置yが0〜50の時、変数henに1を代入
//それ以外(else)の時、変数henに0を代入
if mousex>=0 & mousex<=50 & mousey>=0 & mousey<=50 : hen=1 :else: hen=0
//変数henが0の時(マウスが四角の外にある時)、青で四角を描画
if hen=0:color 0,0,255:boxf 0,0,50,50
//変数henが1の時(マウスが四角の中にある時)、赤で四角を描画
if hen=1:color 255,0,0:boxf 0,0,50,50
redraw 1
wait 1
loop
ボタンではないですがそれっぽいの作りました
四角にマウスが触れると、四角が青になります。
2
押された画像によって、変数に別々の数を代入する方法があります。
例えば道具1をリック→変数に1を代入 道具2をクリック→変数に2を代入という風にして
変数が1の場合と2の場合によって別々のことが起きるようにすればいいです。
この方法はどのジャンルのゲームでも使えるので、覚えておいて損はないです。
hen="(無し)"
repeat
redraw 0
//塗りつぶし
color 255,255,255
boxf
//四角描画
color 255,0,0
boxf 0,0,50,50
color 0,255,0
boxf 50,0,100,50
color 0,0,255
boxf 100,0,150,50
//クリックした時のマウス座標を変数cx,cyに代入
stick click
if click=256:cx=mousex:cy=mousey
//クリックした場所によって、変数に違う言葉を代入
if cx>150 | cy>50 : hen="(無し)" //四角以外の場所クリックでhenに(無し)を代入
if cx>0 & cx<50 & cy>0 & cy<50 : hen="赤" //赤四角クリックでhenに赤を代入
if cx>50 & cx<100 & cy>0 & cy<50 : hen="緑" //緑四角クリックでhenに緑を代入
if cx>100 & cx<150 & cy>0 & cy<50 : hen="青" //青四角クリックでhenに青を代入
//マウスのそばに選択中の色を表示
color 0,0,0
pos mousex+10,mousey
mes "選択中の色 : "+hen
redraw 1
wait 1
loop
簡単なものなので数ではなく文字を代入していますが、考え方は同じです。
クリックした四角の色を表示します。