2021/03/10(水) [n年前の日記]
#1 [hsp] HSP3.6beta5を試用
2021/03/04頃に、HSP3.6beta5が公開されていたらしい。
_HSP3.6β5を公開しました - おにたま(オニオンソフト)のおぼえがき
Windows10 x64 20H2 上で試用してみたり。
_HSP3.6β5を公開しました - おにたま(オニオンソフト)のおぼえがき
Windows10 x64 20H2 上で試用してみたり。
◎ 一部のサンプルが動かない。 :
色々なサンプルを実行して眺めていたのだけど、以下の2つがエラーを出して動かなかった。
少し弄って試してみたら、どうやら screen命令を一番最初に移動すると、スクリプトが動く模様。
たしか、hsp3dish において、screen命令等、ウインドウサイズを変更する命令を使うと、VRAMに保持してあった画像データ・バッファ等は全部初期化・クリアされる、という話があったような気がする…。
_HSP3Dish プログラミングマニュアル・基本仕様ガイド
つまり、
- hsp36beta\sample\hsp3dish\tamane_s_dish.hsp
- hsp36beta\sample\hsp3dish\tamane_s2_dish.hsp
少し弄って試してみたら、どうやら screen命令を一番最初に移動すると、スクリプトが動く模様。
tamas=ginfo_newid celload "tamane_s1.png",tamas ; 素材フォルダから読み込みます ; 標準のサイズで表示 screen 0,800,600↓
; 標準のサイズで表示 screen 0,800,600 tamas=ginfo_newid celload "tamane_s1.png",tamas ; 素材フォルダから読み込みます
たしか、hsp3dish において、screen命令等、ウインドウサイズを変更する命令を使うと、VRAMに保持してあった画像データ・バッファ等は全部初期化・クリアされる、という話があったような気がする…。
_HSP3Dish プログラミングマニュアル・基本仕様ガイド
また、スクリーンサイズ変更時は、通常ランタイムとは異なり、それまでに読み込んだすべての画像バッファは失われますので注意してください。
つまり、
- celload を使って、画像を、VRAM上のバッファに読み込み。
- screen命令を呼んでウインドウサイズを変更。ここでバッファが全部初期化されてしまう。
- 初期化されたバッファを元画像扱いにして描画しようとするからエラーが出る。
[ ツッコむ ]
以上です。