一から始めるHSP講座2
以下、サンプルソース&注釈・解説+駄文
中間発表(?)に備えて(とりあえず、形だけでも)ちゃんとしたスクリーンセーバーを用意してみました。
次々と絵が出てくるスクリーンセーバーです。
前回と同じく、見たこと無い関数とか命令文とかでてきますが、
簡単にいじれるように作ったつもりです。
;
;スクリーンセーバー
;
s=cmdline:peek a,s,1 ; コマンドラインの2文字目を取り出す
if a='p' : goto *sspre ; プレビュー
if a='s' : goto *ssmain ; フルスクリーン
if a='c' : goto *sscfg ; コンフィグ
if a='' : goto *ssmain ; ダブルクリック起動時
;
mes "Unknown switch"
stop
*sscfg
;コンフィグ(設定画面)
;
tt="スクリーンセーバー"
title tt:width 320,200:pos 8,100
mes tt
mes "エセル"
pos 230,140:button "OK",*ssend
stop
*ssend
end
*sspre
;プレビュー画面
cls:mes "プレビュー画面":stop
;スクリーンセーバー本体
*ssmain
ax=dispx:ay=dispy ; ax,ayに画面サイズを代入
bgscr 2,ax,ay,0,0,0,ax,ay ; ID2にフルスクリーン画面を作成
buffer 3,92,110,1
picload"yo.bmp"
wx3=winx:wy3=winy
gsel 2
*main
cls 1
onkey *ssend
posx=ax/2-46:posy=ay/2-55 ;表示画像の半分をマイナスする
pos posx,posy
gcopy 3,0,0,wx3,wy3
pos posx,posy+110 ;表示画像のy軸の分をプラスする
text 100 ;テキストが表示されるスピード。高いほど遅い
mes"aaaaaaaaaa"
wait 100 ;次の画像に移るまでの時間。100=1秒。
cls 1
posx=ax/2-46:posy=ay/2-55 ;半分をマイナス
pos posx,posy
gcopy 3,0,0,wx3,wy3
pos posx,posy+110 ;y軸分をプラス
text 100 ;表示スピード
mes"aaaaaaaaaa"
wait 100
cls 1
posx=ax/2-46:posy=ay/2-55 ;半分をマイナス
pos posx,posy
gcopy 3,0,0,wx3,wy3
pos posx,posy+110 ;y軸分をプラス
text 100 ;表示スピード
mes"aaaaaaaaaa"
wait 100
cls 1
posx=ax/2-46:posy=ay/2-55 ;半分をマイナス
pos posx,posy
gcopy 3,0,0,wx3,wy3
pos posx,posy+110 ;y軸分をプラス
text 100 ;表示スピード
mes"aaaaaaaaaa"
wait 100
絵を差し換えるだけなら簡単に出来るスクリーンセーバーのサンプルソースです。
多分、簡単なはず…。
次ん。
TOPへ?