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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
0401
Y+Y=M.Hhsp3dishにおけるcelloadのタイミング3解決


Y+Y=M.H

リンク

2023/4/1(Sat) 09:13:15|NO.99241

以下の2パターンのスクリプトをビルドして実機で試すと、
NGパターンではredrawの範囲内(redraw 0〜redraw 1)のcelload時にちらつきます。
OKパターンではredrawの範囲外でcelloadをすることでちらつきが起こりません。
ちなみに、setclsをCLSMODE_SOLIDにしても結果は同様でした。
これはdishの仕様でしょうか?
ご存じの方がおられましたらご教示していただければありがたいです。
よろしくお願いします。


#include "hsp3dish.as" repeat 5, 1 celload strf("%d.png", cnt), cnt loop gmode 2 frm = 0 ;OKパターン@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if 1 setcls CLSMODE_NONE *Main frm = (frm + 1) \ 90 if frm == 30 { celload "6.png", 6 } redraw 0 color boxf repeat 5 pos 0, cnt * 64 + 16 celput cnt + 1 loop if frm >= 30 { pos 0, 5 * 64 + 16 celput 6 } color 255 pos 0, 0 mes "" + frm redraw 1 await 1000 / 60 goto *Main #endif ;NGパターン@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if 0 setcls CLSMODE_NONE *Main frm = (frm + 1) \ 90 redraw 0 color boxf repeat 5 pos 0, cnt * 64 + 16 celput cnt + 1 loop if frm == 30 { celload "6.png", 6 } if frm >= 30 { pos 0, 5 * 64 + 16 celput 6 } color 255 pos 0, 0 mes "" + frm redraw 1 await 1000 / 60 goto *Main #endif



この記事に返信する


しまくろねこ(本物)

リンク

2023/4/1(Sat) 18:16:53|NO.99242

OKパターンでもAndroid13実機で setcls CLSMODE_SOLID としないと描画されない位置に余計なバッファの一部が表示されたりします。
多分不具合だと思います。



おにたま(管理人)

リンク

2023/4/4(Tue) 20:37:13|NO.99251

>Y+Y=M.H さん

ご報告ありがとうございます。
現在の動作ですと、celload命令はbuffer命令で初期化を行ってpicload命令を実行して、元のIDにgselで戻るというような仕様になっています。
このgselで戻るという動作でredraw 1と同等の処理が発生してしまいます。
今後、どこでも使用できるよう検討したいと思いますが、今のところはredraw 0〜redraw 1の範囲外で使用されるようお願い致します。



Y+Y=M.H

リンク

2023/4/7(Fri) 07:06:17|NO.99263

しまくろねこさん、おにたまさん、
ありがとうございます!

現在、きちんと制作を続けることができております。
お忙しい中、大変恐縮ですが、
今後のご検討よろしくお願いいたします!



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