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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0911
pumpkinredrawを使ってもちらつきが出る10解決


pumpkin

リンク

2015/9/11(Fri) 21:23:44|NO.71595

repeat
redraw 0 color 255,255,255 boxf picload "da.bmp" wait 1 redraw 1 loop

特に何も特別なことはしていません
どこにミスがあったのか…それとも不具合ですかね?



この記事に返信する


Noap

リンク

2015/9/11(Fri) 21:28:14|NO.71596

ループの中で毎回画像を読みこんでいるのが原因ではないでしょうか



Noap

リンク

2015/9/11(Fri) 21:39:53|NO.71597

gcopyはいかがですか


buffer 1,1,1 picload "da.bmp" screen 0,ginfo_sx,ginfo_sy,,,,ginfo_sx,ginfo_sy repeat redraw 0 color 255,255,255 boxf gcopy 1,,,ginfo_sx,ginfo_sy redraw 1 wait 1 loop



pumpkin

リンク

2015/9/11(Fri) 21:53:07|NO.71598

>ループの中で毎回画像を読みこんでいるのが原因ではないでしょうか
ループ中で毎回画像読み込みは駄目なんですね…ありがとうございます

Noapさん、サンプルありがとうございます
とりあえずgcopyでやっていきたいと思います



可憐

リンク

2015/9/11(Fri) 21:55:07|NO.71599

picload命令によってウィンドウが初期化されているのが原因です。
写真のサイズに合わせてウィンドウを作り、そこにpicloadで画像を描画でOKです

#include "mod_img.as" imgload "da.bmp" screen 0,size@mod_imgctx(0),size@mod_imgctx(1) repeat redraw 0 color 255,255,255 boxf picload "da.bmp",1 wait 1 redraw 1 loop



Noap

リンク

2015/9/11(Fri) 22:26:12|NO.71601

すみません。毎回初期化しているのが原因であるということを分かりやすくつたえたくて(picloadで初期化しながら)画像を読みこんでいるという表現にしました。
またgcopyでコピーするより毎回読みこむのほうがCPUへの負荷が大きいのでgcopyのほうがいいと思います。



Noap

リンク

2015/9/11(Fri) 22:32:46|NO.71602

改めて見れば分かりやすくなるようにしたつもりが誤解を生む表現になっていてすみません。



Snake

リンク

2015/9/12(Sat) 09:16:41|NO.71608

waitがredraw 1の前に記述されているとチラつきが防止できない場合があります。
redrawのサンプルには

repeat redraw 0 mes "ちらつきません" redraw 1 wait 1 loop
となっています。



Noap

リンク

2015/9/12(Sat) 10:51:31|NO.71612

わたしもそう思いましたがredraw 1の後ろではなく前にwaitを入れるとちらつきが発生する根拠がつかめずあえて触れませんでした。


#uselib "user32.dll" #func InvalidateRect "InvalidateRect" sptr,var,int ookisa=ginfo_winx,ginfo_winy buffer 1,1,1 picload "da.bmp" ookisa=ginfo_sx,ginfo_sy screen 0,ginfo_sx,ginfo_sy,,,,ginfo_sx,ginfo_sy repeat redraw 0 color 255,255,255//たぶんスプライト的な感じで消去するときにつかうはず boxf gcopy 1,,,ginfo_sx,ginfo_sy //redraw 1 InvalidateRect hwnd,ookisa,1 wait 1 loop



Mituking[元mituki]

リンク

2015/9/13(Sun) 16:14:21|NO.71641

ぴったりなものを見つけたよ。

http://lhsp.s206.xrea.com/command/picload.html



yt

リンク

2015/9/18(Fri) 20:32:14|NO.71779

waitを消してredraw 1の後に

await 1
をつけるとチラツキが軽減されると思います



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