es_bufferの第3パラメータで透過色を指定できます。
詳しくはes_bufferのヘルプとhspdxのドキュメントを読んでください。
; 透過色指定サンプル(付属サンプル改造)
#include "hspdx.as"
es_ini
onexit *owari
es_screen 640,480,32,,1,1
if stat=1 : goto *dderr1
if stat=2 : goto *dderr2
goto *start
*dderr1
dialog "DirectXの初期化に失敗しました。",1 : end
*dderr2
dialog "スクリーンの初期化に失敗しました。",1 : end
*dderr3
es_bye : wait 100 : dialog "VRAMの容量が不足しています。",1 : end
;------------------------------------------------------------------
*start
buffer 3,640,480,0 :cls 4
color 255 :boxf 10,10,54,54
color 0 :boxf 20,20,44,44
es_buffer 0,2,$ff0000 ; ここで透過色を指定($ff0000をコメントアウトすると黒が透過されます)
if stat : goto *dderr3
es_size 64,64,60
es_pat 0, 0,0
es_pat 1, 0,0
gsel 0,1
es_cls : es_sync : wait 100
myx=100:myy=100
es_set 0,myx,myy,0
a=0
ky=0
*main
stick ky,$1f
gosub *keychk
if ky&$10 : gosub *ringo
if ky&$80 : goto *owari
es_pos 0,myx,myy
es_effect 0,64,64,0,0,t,ESB_ALPHA,64,$ffffff:t++ :t=t\255
es_cls 0,0,255
es_draw : es_sync
await 1
goto *main
*ringo
es_new a,2
es_set a,myx,myy,1,1
es_adir a,rnd(64),400
es_effect a,64,64,0,0,rnd(256),ESB_ALPHA,128,$ffffff
return
*owari
es_bye
end
*keychk
if ky&2 : goto *go_up
if ky&8 : goto *go_down
goto *keychk2
*go_up
if myy>-32 : myy-=8
goto *keychk2
*go_down
if myy<380 : myy+=8
*keychk2
if ky&1 : goto *go_left
if ky&4 : goto *go_right
return
*go_left
if myx>-32 : myx-=8
return
*go_right
if myx<580 : myx+=8
return
上のサンプルで赤色が透過するのを確認しました。