できます。
基本的に、color の設定で、0-255 までの濃薄で設定しています。
それを半透明のブレンド率に置き換えればいいのです。
私が提示したスクリプト上では、255に近いほど薄くなるように設定されていますが、gmode 上のブレンド率は、0に近いほうになるほど薄くなります。
その為、画像に対して薄くする処理は、数値を反転させればいいのです。
//画像半透明コピー用サンプル
//ここで画像データを作成する。
buffer 4,2000,480,0 : color 255,0,255 : boxf
font "メイリオ",256
color 0,0,0
repeat 10
pos cnt*200,0 : mes ""+cnt
loop
gsel 0
dim slot,3 //各列の数字
dim slot_tick,3 //各位置の表示スピード
dim slot_tick_count,3 //各位置の表示スピードカウント用
dim slot_frame,3 //コマ管理用
dim slot_color,3 //濃薄数値
slot(0) = 0,5,7
slot_tick(0) = 10,10,10
slot_color(0) = 256,256,256 //画像用の場合のみ初期化データ
randomize
repeat 100
gosub *main
loop
stop
*main
slot_frame(0) = 0,0,0
slot_tick(0) = 10,10,10
slot_color(0) = 256,256,256 //画像用の場合のみ初期化データ
repeat 601
slot_frame(0)++
slot_frame(1)++
slot_frame(2)++
//始動開始描画を薄くする処理[0]
if (slot_frame(0) >= 10)&(slot_frame(0) <= 80) : slot_tick_count(0) += 1
if (slot_frame(1) >= 10)&(slot_frame(1) <= 80) : slot_tick_count(1) += 1
if (slot_frame(2) >= 10)&(slot_frame(2) <= 80) : slot_tick_count(2) += 1
if (slot_frame(0) <= 80)&(slot_tick_count(0) >= slot_tick(0)){
slot_tick_count(0) = 0 : slot_tick(0)-- : slot(0)++ : slot_color(0) -= 8
// slot_tick_count(0) = 0 : slot_tick(0)-- : slot(0)++ : slot_color(0) += 8
if slot_tick(0) <= 1 : slot_tick(0) = 1
}
if (slot_frame(1) <= 80)&(slot_tick_count(1) >= slot_tick(1)){
slot_tick_count(1) = 0 : slot_tick(1)-- : slot(1)++ : slot_color(1) -= 8
// slot_tick_count(1) = 0 : slot_tick(1)-- : slot(1)++ : slot_color(1) += 8
if slot_tick(1) <= 1 : slot_tick(1) = 1
}
if (slot_frame(2) <= 80)&(slot_tick_count(2) >= slot_tick(2)){
slot_tick_count(2) = 0 : slot_tick(2)-- : slot(2)++ : slot_color(2) -= 8
// slot_tick_count(2) = 0 : slot_tick(2)-- : slot(2)++ : slot_color(2) += 8
if slot_tick(2) <= 1 : slot_tick(2) = 1
}
//始動中処理
if (slot_frame(0) >= 81)&(slot_frame(0) <= 240) : slot(0)++
if (slot_frame(1) >= 81)&(slot_frame(1) <= 480) : slot(1)++
if (slot_frame(2) >= 81)&(slot_frame(2) <= 360) : slot(2)++
//図柄停止位置を逆算(停止予定位置より、5コマ加算 777で停止したいなら slot を 222 に設定)
//通常では、事前の当たり判定を用いて図柄数の数値を乱数で設定する事。
if (slot_frame(0) == 240) : slot(0) = rnd(10)
if (slot_frame(0) == 480) : slot(1) = rnd(10)
if (slot_frame(0) == 360) : slot(2) = rnd(10)
//液晶停止処理(左図柄用)
if (slot_frame(0) >= 240)&(slot_frame(0) <= 360) : slot_tick_count(0) += 1
if (slot_frame(0) >= 240)&(slot_tick_count(0) >= slot_tick(0)){
slot_tick_count(0) = 0 : slot_tick(0) += 1 : slot(0)++ : slot_color(0) += 16
// slot_tick_count(0) = 0 : slot_tick(0) += 1 : slot(0)++ : slot_color(0) -= 16
if slot_tick(0) <= 1 : slot_tick(0) = 1
}
//液晶停止処理(右図柄用)
if (slot_frame(2) >= 360)&(slot_frame(2) <= 480) : slot_tick_count(2) += 1
if (slot_frame(2) >= 360)&(slot_tick_count(2) >= slot_tick(2)){
slot_tick_count(2) = 0 : slot_tick(2) += 1 : slot(2)++ : slot_color(2) += 16
// slot_tick_count(2) = 0 : slot_tick(2) += 1 : slot(2)++ : slot_color(2) -= 16
if slot_tick(2) <= 1 : slot_tick(2) = 1
}
//液晶停止処理(中図柄用)
if (slot_frame(1) >= 480)&(slot_frame(1) <= 600) : slot_tick_count(1) += 1
if (slot_frame(1) >= 480)&(slot_tick_count(1) >= slot_tick(1)){
slot_tick_count(1) = 0 : slot_tick(1) += 1 : slot(1)++ : slot_color(1) += 16
// slot_tick_count(1) = 0 : slot_tick(1) += 1 : slot(1)++ : slot_color(1) -= 16
if slot_tick(1) <= 1 : slot_tick(1) = 1
}
/** ここからは、描画と対処理 **/
//画像などを用いて行う場合、描画メインのところを書き換えてください。
//数値処理
if (slot(0) >= 10) : slot(0) = 0
if (slot(1) >= 10) : slot(1) = 0
if (slot(2) >= 10) : slot(2) = 0
//描画側
if (slot_color(0) >= 255) : slot_color(0) = 255
if (slot_color(1) >= 255) : slot_color(1) = 255
if (slot_color(2) >= 255) : slot_color(2) = 255
if (slot_color(0) <= 63) : slot_color(0) = 63
if (slot_color(1) <= 63) : slot_color(1) = 63
if (slot_color(2) <= 63) : slot_color(2) = 63
// if (slot_color(0) >= 192) : slot_color(0) = 192
// if (slot_color(1) >= 192) : slot_color(1) = 192
// if (slot_color(2) >= 192) : slot_color(2) = 192
// if (slot_color(0) <= 0) : slot_color(0) = 0
// if (slot_color(1) <= 0) : slot_color(1) = 0
// if (slot_color(2) <= 0) : slot_color(2) = 0
//描画メイン
redraw 0
color 255,255,255 : boxf 0,0,640,280
gmode 3,0,0,slot_color(0) : pos 0 ,0 : gcopy 4,slot(0)*200,0,200,230
gmode 3,0,0,slot_color(1) : pos 240,0 : gcopy 4,slot(1)*200,0,200,230
gmode 3,0,0,slot_color(2) : pos 480,0 : gcopy 4,slot(2)*200,0,200,230
// color slot_color(0),slot_color(0),slot_color(0) : pos 0 ,0 : mes ""+slot(0)
// color slot_color(1),slot_color(1),slot_color(1) : pos 240,0 : mes ""+slot(1)
// color slot_color(2),slot_color(2),slot_color(2) : pos 480,0 : mes ""+slot(2)
redraw 1
await 16
loop
await 2000
return
このサンプルでは、数字表示用の場合の時の命令を変更した際に変更箇所がわかるように数字表示スクリプトの命令行(一部)をコメントアウトしています。