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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0507
knhgdraw 4 で描画2未解決


kn

リンク

2016/5/7(Sat) 12:44:55|NO.75406

授業の教材をhsp,hgimg3で作成し利用させていただいています。
下のように、hgdraw 4 でサインカーブを描画させましたが、通常スクリーンモードとフルスクリーンモードで描画の仕方が異なってしまいます。
教えて下さい。よろしくお願いします。OSはwindows7です。

#include "hgimg3.as"
wx=1024:wy=768
;スクリーンモード
screen 0,wx,wy,0,0,0 ;

;フルスクリーンモード
;bgscr 0,wx,wy,0
;hgsetreq SYSREQ_DXMODE,1
;hgsetreq SYSREQ_DXWIDTH,wx
;hgsetreq SYSREQ_DXHEIGHT,wy
;
cls 4
hgini
;円のテクスチャ作成
s=32 
buffer 1,s,s,0 :color:boxf
color 255,255,255
circle 0,0,s,s,0
settex
tex1=stat

t=0.0
dt=0.2
x=0.0
dx=10.0
goto *main
;------------------------------------------
*main
hgdraw 4

y=200.0*sin(t)
gmode 2,s,s          ;テクチャの描画
pos x,wy/2-y
hgrotate tex1,0,0,0,s,s

x=x+dx
t=t+dt
hgsync 200
;
stick k,0
if k&128 : goto *owari ; ESCで終了
if k&16 {          
repeat
stick k,0
if k&128 : goto *owari   ; ESCで終了
if k&16 : break ; spaceでぬける
loop
}
goto *main
*owari
end



この記事に返信する


暇人

リンク

2016/5/7(Sat) 15:30:34|NO.75408

スクリーン時は裏画面が二枚になり交互に描画されるので
hgdraw 4で前回の描画内容を利用しようとすると2フレーム前の画像になってしまうので
2フレーム以上連続で同じ画像を描画するようにして対応してみた

#include "hgimg3.as" wx=1024:wy=768 fullscr=0 if fullscr=0 { ;スクリーンモード screen 0,wx,wy,0,0,0 ; }else{ ;フルスクリーンモード bgscr 0,wx,wy,0 hgsetreq SYSREQ_DXMODE,1 hgsetreq SYSREQ_DXWIDTH,wx hgsetreq SYSREQ_DXHEIGHT,wy } cls 4 hgini ;円のテクスチャ作成 s=32  buffer 1,s,s,0 :color:boxf color 255,255,255 circle 0,0,s,s,0 settex tex1=stat t=0.0 dt=0.2 x=0.0 dx=10.0 clscolor $4444 ; 背景色の設定 //背景初期化(hgdraw 4する場合前回のVラム内容が残ってるので) repeat 1+fullscr //フルスクリーン時は二回必要 hgdraw hgsync 1 loop goto *main ;------------------------------------------ *main fpscnt++ hgdraw 4 y=200.0*sin(t) gmode 2,s,s          ;テクチャの描画 pos x,wy/2-y hgrotate tex1,0,0,0,s,s if Update_stop=0 { if fpscnt>15 {//16フレームに一回更新(2フレーム以上同じ画像を書き込めばフルスクリーンでも問題なくなる) fpscnt=0 x=x+dx t=t+dt } } hgsync 16 stick k,0 if k&128 : goto *owari ; ESCで終了 if k&16 {Update_stop^1} goto *main *owari end



暇人

リンク

2016/5/7(Sat) 17:29:57|NO.75411

あれ?
>スクリーン時は裏画面が二枚になり交互に描画されるので
フルが抜けてた・・・



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