hspdxfix.dllのes_sizeが正常に動作しません。
U.G.M. 2013/6/20(Thu) 01:15:19|NO.55099
皆様、お疲れさまです。U.G.M.と申します。
最近、省力化のためにhspdxfix.dllを利用しようとしているのですが、表示されるスプライトの
サイズが正常に反映されません。
具体的には、下記ソースリスト(抜粋)を実行すると、64x32で表示されてほしいスプライトが
es_patでの表示では16x16で縮小表示されてしまいます。なお、es_putでの表示では問題なく
64x32で表示されるので、es_sizeの指定の間違いではないようです。
これ以外のhspdxfix.dll関連ソースリストに関しては、サンプル以上のことはしていません。
どなたか同様の症状に遭われている方はいらっしゃいますでしょうか。
また、解決法についてもわかる方は教えていただければ幸いです。
以上、簡単ですがよろしくお願いいたします。
---
;キャラクタ読み込み
buffer 2,256,256:picload "chr.bmp"
es_buffer 0,0,0:if stat=1 : goto *dxerr3
;384〜389;自機
es_size 64,32,10 ;64x32ドット;当たり判定アリ;背景透過
repeat 3
es_pat 384+(cnt*2),cnt*64, 0
es_pat 385+(cnt*2),cnt*64,32
loop
;390〜397;爆発
es_size 32,32,0 ;32x32ドット;当たり判定ナシ;背景透過
repeat 8
es_pat 390+cnt,cnt*32,96
loop
;フォント定義
buffer 3,256,384:picload "fonts.bmp"
es_buffer 1,0,0:if stat=1 : goto *dxerr3
;0〜383;フォント
es_size 16,16,0 ;16x16ドット;当たり判定なし;背景透過
y=0
repeat
x=0
repeat
es_pat (y*16)+x,x*16,y*16
x++:if x==16:break
loop
y++:if y==24:break
loop
gsel 0
es_cls
es_sync
wait 100
;スプライト割り当て
es_set SPR_SHIP,80,200,1,,-1
es_type SPR_SHIP,TYPE_SHIP
---
;実表示部
es_chr SPR_SHIP,386
es_pos SPR_SHIP,ship_x,ship_y
---
U.G.M. 2013/6/20(Thu) 01:19:21|NO.55101
どうも、U.G.M.です。
先ほどのソースリストについて追記です。
大文字の変数名は#defineで登録を行った定数です。
---
#define SPR_SHIP 0 ;自機スプライト割り当て位置
#define TYPE_SHIP 1
---
以上、よろしくお願いいたします。
暇人 2013/6/20(Thu) 20:21:44|NO.55106
コピペして実行できなければ
スクリプトに問題あるのか他に問題あるのか分からない
774 2013/6/20(Thu) 21:51:42|NO.55108
es_getでの内容からの推測に留まりますが…
スプライトの画像サイズは、es_set時のキャラクタ画像サイズに固定されるようです。
>>es_set SPR_SHIP,80,200,386,,-1
で試してみてはどうでしょうか?
U.G.M. 2013/6/20(Thu) 22:52:44|NO.55110
どうも、U.G.M.です。
>>774さん
ありがとうございます、おっしゃる通り変更してみたら正常に表示されました。凡ミスでしたね。
以降気を付けて記述してゆこうと思います。
というわけで、解決済みにチェックさせていただきます。
お付き合いいただきましてありがとうございます、