PlayLoud!!

Since1997

hspdxfix

Solid State SURVIVORバグフィックスのときに入手したhspdxfixで以前に掲載した弾幕っぽいプログラム等動かしてみたら、ノートPCでも半透明を表示できることが判明。DLLの最新バージョンはよく探すべきですね…… orz

加算合成とモーションブラーを組み合わせるといかにも今風な表現になりますね。

;
;発射方向が回転
;


#include"hspdxfix.as"

#define tama_max 1000
;dim task,10

randomize

es_ini 1024,,64
es_screen 640,480,32,,1,1
if stat : dialog"HSPDXFIX : DirectXの初期化に失敗":end

buffer 2,640,480
picload "tama4.bmp"
es_buffer 0
es_size 16,16
es_pat 1,0,0,0

picload "jiki02.bmp"
es_buffer 1
es_size 64,64
es_pat 0,0,0,0

;メインループ

kaiten=0
mx=320
my=400
speed=4

twait = -1
tama = 30
houkou = 0
ntama = 1

tx=320
ty=240

dansu = 6
repeat
; twait -= 1
; if cnt \ 100 = 0 : dansu = rnd(5)+8

if twait <0 {
es_set ntama,tx,ty,1
es_adir ntama,(cnt\64),100+(cnt\dansu)*50
es_effect ntama,,,,,(cnt\64),ESB_ADD,80
; es_adir ntama,(cnt\64)+(cnt \ 4)*16,50
; es_effect ntama,,,,,(cnt\64)+(cnt \ 4)*16
ntama += 1
if ntama > 1000 : ntama = 1
; twait = 1
}


pos 0,0
color 255,255,255
es_mes "fps:" + fps + " " + dansu

stick k,15
if k&2 : my=my-speed : if my<0 : my=0
if k&8 : my=my+speed : if my>414 : my=414
if k&1 : mx=mx-speed : if mx<0 : mx=0
if k&4 : mx=mx+speed : if mx>574 : mx=574
if k&128 : end
; es_set 0,mx,my,0
; es_effect 0,64,64,,,cnt\64

es_sync 16
await 0
es_getfps fps

; es_cls 0,0,0

es_exboxf 0,0,639,479,0,,,,ESB_ALPHA,50
es_draw

stick k,0
if k & 128 : end

loop

stop