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


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0406
ゴリラes_bufferをbufferのように使う。2解決


ゴリラ

リンク

2018/4/6(Fri) 01:28:09|NO.83905

現在、hspdxfixでゲームを作っているのですが

以下の様な描画処理を行ってもうまく反映されません。


buffer 10, 800, 600 gmode 0 : pos 0,0 : es_excopy 9,0,0,800,600,800,600 gmode 0 : es_excopy 23,0,0,60,60,400,600,0,0,0,ESB_ALPHA,130 gmode 1 : es_excopy 20,672,0,168,184,400,600,0,0,0 es_buffer 2 gsel 0 pos 0, 0 : es_copy 2, 0, 0, 800, 600

上記は大幅に内容を修正して添付したものですが
es_bufferで確保したはずの画像が表示されません。

真っ白なままになってしまいます。

es_系の命令は(HSPのデフォもそうですけど)使い方がいまいち説明もよくわからないです。
自分の上記スクリプトの様な使い方はあっているのでしょうか?

もしあってるとしたら何故表示されないのでしょうか。
よろしくお願いします。



この記事に返信する


あらや(旧名あまら)

リンク

2018/4/6(Fri) 20:14:39|NO.83910

軽く確認してみましたが、es_excopyがどうも不安定っぽいです。

画面に反映させる事は一応es_syncを入れると可能でした。

buffer 10, 800, 600 gmode 0 : pos 0,0 : es_excopy 9,0,0,800,600,800,600 gmode 0 : es_excopy 23,0,0,60,60,400,600,0,0,0,ESB_ALPHA,130 gmode 1 : es_excopy 20,672,0,168,184,400,600,0,0,0 es_sync// 画面更新 es_buffer 2 gsel 0 pos 0, 0 : es_copy 2, 0, 0, 800, 600

2番目(半透明コピー)と3番目(不透明コピー)が位置も大きさも同じで
これに成功しても2番目が上書きされてしまって意味がないとか
ツッコミ所もありますが、そこは無視するとしても

私の環境が悪いのかes_excopyでの半透明コピーや拡大コピーが上手く動作しません。

少なくともes_excopyのα値は無視され、ライト色が $AARRGGBB となっているのは
確認できました。
AAの箇所がアルファ値、というのは良いのですが
RR、GG、BBの箇所のカラー値で画像が塗り潰されました。
これだと引数が多いだけの半透明boxf状態です。



HSPバッファにes_系で書き込むのではなく、
素直にHSPバッファにgcpoyやgzoom等で書き込んでからes_bufferで転送した方が
安定した動作になるのではないでしょうか。



ゴリラ

リンク

2018/4/8(Sun) 22:13:33|NO.83949

>あらやさん

ありがとうございます。
一旦はHSPバッファに書きこむ手段も検討して見ながら
最悪syncでごまかします。



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