スクリーンセーバーの作り方

これ以降のページでは、次々とプログラムが出てきますので、各自プログラムを入力して試してください。
ひとつ前のプログラムと異なる箇所(太字の箇所)を意識しながらやってみてください。

それでは、上で作成した画像をHSPで表示してみましょう。 まずは、画像を表示するウィンドウをいくつか作ってみます。

prog03.as :
	screen 2, 200, 200
	screen 3, 200, 200
	screen 4, 300, 200
	stop

白いウィンドウが4つ開いたでしょう。そのうち一番大きなウィンドウは、HSP が自動的に開くウィンドウです。 残り3つの小さいウィンドウはscreen 命令で開いたものです。 screenのすぐ後に書く数字は、ウィンドウの番号です。後で、どのウィンドウが分かるように番号を付けておくわけです。 1から7までの好きな数字を使えばいいんですが、ここでは 2番、3番、4番としています。 (HSP が自動的に開くウィンドウは0番になっています。)

それぞれのウィンドウには別々の文字を書くことが出来ます。

prog04.as :
	screen 2, 200, 200
	print "Test."
	screen 3, 200, 200
	screen 4, 300, 200
	print "テストです。"
	stop

プログラムと実行結果を比べてみると分かるように、新しいウィンドウを開いた直後には、そのウィンドウに書かれます。

では、いよいよ画像をウィンドウに表示してみましょう。

prog05.as :
	screen 2, 200, 200
	picload "pic1.bmp"
	screen 3, 200, 200
	picload "pic2.bmp"
	screen 4, 300, 200
	gcopy 2
	stop

画像を表示する命令picloadについても、新たに開いたウィンドウに画像が表示されます。 (画像の大きさとウィンドウの大きさが同じでない場合、自動的に調節してくれます。)

最後に開いた4番目のウィンドウ(ちょっと大きめのウィンドウ)の左上隅にちょっとだけ画像がでていますね? これは下から2行目の gcopy (ウィンドウからウィンドウへ画像をコピーする命令) によって描かれた画像です。 gcopy 2の意味は、2番のウィンドウから画像をコピーする、ということです。 コピーする先は(直前に開いた)4番のウィンドウにになります。 画像が不完全にしかコピーされていないのは、画像の大きさを指定していないからです。 次のように書けば、ちゃんと全部がコピーされます。

prog06.as :
	screen 2, 200, 200
	picload "pic1.bmp"

	screen 3, 200, 200
	picload "pic2.bmp"

	screen 4, 400, 400
	gcopy 2, 0,0, 150,150

	stop

位置を指定してコピーするには以下のように書きます。

prog07.as :
	screen 2, 200, 200
	picload "pic1.bmp"

	screen 3, 200, 200
	picload "pic2.bmp"

	screen 4, 400, 400
	pos 50, 150
	gcopy 2, 0,0, 150,150

	stop
最終更新日時: 2013年 03月 30日(土曜日) 23:40