一から始める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へ?