HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0620
U.G.M.hspdxfix.dllのes_sizeが正常に動作しません。4解決


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さん
 ありがとうございます、おっしゃる通り変更してみたら正常に表示されました。凡ミスでしたね。
 以降気を付けて記述してゆこうと思います。

 というわけで、解決済みにチェックさせていただきます。
 お付き合いいただきましてありがとうございます、



ONION software Copyright 1997-2023(c) All rights reserved.