汚いスクリプトですが、参考になれば。
//----------------------------------------------------------
#module 半透明ボタン
#deffunc 半透明ボタン準備 int 合成バッファID,int ボタン画像バッファID,int 透過率
メイン画面ID=ginfo_sel//ボタン表示スクリーン
t_xpos=ginfo_cx//ボタン表示位置X
t_ypos=ginfo_cy//ボタン表示位置Y
//ボタン画像の情報読み込み
gsel ボタン画像バッファID
gx=ginfo_sx
gy=ginfo_sy
//合成バッファに元画像コピー
gsel 合成バッファID
gmode 0,ginfo_sx,ginfo_sy
pos 0,0
gcopy 0,0,0,ginfo_sx,ginfo_sy
//ボタン画像合成
// gsel 合成バッファID
gmode 3,gx,gy,透過率
pos t_xpos,t_ypos
gcopy ボタン画像バッファID,0,0,gx,gy
//半透明ボタンを配置した画像で上書き
gsel メイン画面ID
gmode 0
pos 0,0
gcopy 合成バッファID,0,0,ginfo_sx,ginfo_sy
//半透明ボタン領域をボタン画像に指定
// gsel メイン画面ID
pos t_xpos,t_ypos
objsize gx,gy
objimage 合成バッファID,t_xpos,t_ypos,t_xpos,t_ypos
return
#global
//----------------------------------------------------------
#define Sel_gousei 4
#define Sel_button 5
//----------------------------------------------------------
screen 0
title "メイン画面"
picload dir_exe+"\\sample\\demo\\jp6girl.bmp"
//------------
buffer Sel_gousei,ginfo_sx,ginfo_sy
;screen Sel_gousei,ginfo_sx,ginfo_sy
title "合成用バッファ"
//-----------
buffer Sel_button
;screen Sel_button
title "ボタン画像用バッファ"
pos 0,0
picload dir_exe+"\\sample\\demo\\onibtn.gif"
//-------------
gsel 0
sdim bt,20,5
bt="普通の","半透明50%","半透明75%","半透明じゃない"
pos 20,20
button bt.0,*push
pos 50,150
半透明ボタン準備 Sel_gousei,Sel_button,128
button bt.1,*push
;pos 30,250
半透明ボタン準備 Sel_gousei,Sel_button,182
button bt.2,*push
;pos 120,100
半透明ボタン準備 Sel_gousei,Sel_button,256
button bt.3,*push
stop
//------------------
*push
dialog ""+bt.stat+"押しました?"
stop