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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0929
^o^スプライト8解決


^o^

リンク

2008/9/29(Mon) 19:36:36|NO.19871

間違えて解決にチェックしてしまったため、立て直しました。

スクライプトの作り方がいまいち分かりません><
頑張って↓のスクリプトを書いたのですが、五行目でシステムエラーが発生します・・・。

#include "hspdxfix.as" es_ini es_size 20,20,100,0 picload "test.bmp" es_buffer 0 es_pat 0,20,20 es_set 0,0,0,0,0 *gmain stick ky,$1f ; キーの情報を取得 if ky&$80 : goto *owari ; [ESC]中断チェック es_cls ; 画面クリア es_draw ; スプライト描画 es_sync ; 画面の更新 await 0 ; Systemアイドル goto *gmain *owari end



この記事に返信する


船丸

リンク

2008/9/29(Mon) 20:24:07|NO.19874

hspdxfixの事については少ししか知らないので分かりませんが(5ヶ月前にやった事はある)
画像が8bitではないかex_buffer 0 のまま戻してないか4行目と5行目が逆の筈です。



あり

リンク

2008/9/29(Mon) 22:31:06|NO.19876

DirectXの初期化にはes_iniの後にes_screenも必要です。
es_ini
es_screen 640,480,32,,1 ;(仮)
のようにすればシステムエラーは出ないはずです。



レヴィン

リンク

2008/9/29(Mon) 22:38:28|NO.19877

hspdxfixのマニュアル(HSPDXFIX.TXT)に初期化の仕方が書いてあります。
まずはそこに書かれているとおりに記述し、初期化してから画像を読んだり
スプライトを表示したほうがいいと思います。



ANTARES

リンク

2008/9/30(Tue) 01:35:56|NO.19878

 マニュアル、ちゃんと読んでます?
特にes_bufferとes_patの説明。

es_screen 0,640,480,8,0 ;★ es_size 20,20,100,0 buffer 2 ;★ picload "test.bmp" es_buffer 0 ;es_pat 0,20,20 es_pat 0,0,0 ;★ <中略> *owari es_bye ;★ end



ANTARES

リンク

2008/9/30(Tue) 02:08:59|NO.19879

 ところで、hspdxfix.dllとhsp Ver.3.1のhspdx.dllは
同じものって知ってます?

docs\hsp3.htmにも書かれていますが、ツールを使って調べました

>HSPDXプラグインの後継として、 Sinagawa氏製作による
>最新のHSPDXFIXが同梱されています。



^o^

リンク

2008/9/30(Tue) 19:37:53|NO.19883

助言ありがとうございます。
マニュアル熟読したつもりですが見落としあったようですね^^;

エラーは発生しなくなったのですが、起動するともの凄く重くて画像が表示されません><
デバックモードなど試してみたのですが何が原因か分かりませんでした。

#include "hspdxfix.as"
es_ini
es_screen 0,640,480,8,0
if stat=1 : goto *dderr1
if stat=2 : goto *dderr2
es_size 20,20,100,0
buffer 2
picload "test.bmp"
es_buffer 1
es_pat 0,0,0

*gmain
stick ky,$1f ; キーの情報を取得
if ky&$80 : goto *owari ; [ESC]中断チェック
es_cls 255,255,255; 画面クリア
es_draw ; スプライト描画
es_sync ; 画面の更新
await 0 ; Systemアイドル
goto *gmain

*owari
es_bye
end

*dderr1
dialog "DirectXの初期化に失敗しました",1
end
*dderr2
dialog "スクリーンの初期化に失敗しました",1
end



あり

リンク

2008/9/30(Tue) 21:11:09|NO.19889

画像が表示されないのと、処理が重いのはこの場合関係ありません。

画像が表示されないのはes_setでスプライトが登録されてないからで
重いのはes_syncで数値が設定されていないので
Windowsの処理をほとんど奪ってしまっているからです。

スプライトの使用にはes_sizeとes_patとes_setが必要です。
hspdxfix.txtの『スプライトについて』をもう一度しっかりと読み返して
正確な使用法を理解して下さい。

処理を軽くしたいのなら、es_syncにある程度の数値(16以上を推奨、66くらいにするとだいぶ軽い)
を指定してみて下さい。



^o^

リンク

2008/9/30(Tue) 22:36:14|NO.19890

色々調べた結果なんとかできました!
教えてくださってありがとうございます。



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