十八歩目 続 絵の取り入れ

                      

〜画像コピー〜
     前で問題になった 「絵にあわせて ウインドウが小さくなる」
     ことの解決法をやりましょう
     その解決法(かいけつほう)は 今まで 絵をそのままウインドウに
     出していたが それではウインドウのサイズが変わってしまう
     そこで 最初はどっかに絵を出しといて そこから
     ウインドウにコピーするようにすれば問題は無いのだ!

		
	buffer 2
	picload "zyuunana-1.bmp"
	gcopy 2
	stop

     いきなり新しい命令が二つも出た!
     buffer と gcopy だ 
     buffer はscreenで出すウインドウとほとんど同じだが 違うのは
     パソコンの画面に表示されない ということだ
      (このようなものを仮想画面(かそうがめん)という)
     つまり 画面に出ないだけで ウインドウと同じということは
     mes や print などで 文字を描くことも出来る
     まあ 表示はされないがね ということは字がかけるのなら
     絵も出せる ということで  buffer で作った仮想画面1に
     picload で zyuunana-1.bmp を出して(ロードするという)
     そして gcopy で 仮想画面1の画像を今の描画先に・・・
     あ! 一個抜けてた!
 

		
	buffer 2
	picload "zyuunana-1.bmp"
	gsel 0,1
	gcopy 2
	stop

     gsel 忘れてた!
     gsel ってのは 二つ目の数字によっていろいろ使える
     

-1 指定されたウインドウが消える
0 影響なし
1 指定されたウインドウが描画先になる
2 指定されたウインドウが描画先になって最前になる

     となる 例えば gsel 0,-1 とすると ウインドウ0が消える
     まあよく使うのが -1 と 1 ぐらいだろう
     描画先ってのは 例えばウインドウが二つ出てて
     mes "やっほー" とやって どっちに出るかというと
     さっきまで使ってたウインドウに出される
     詳しく言うと screen なんかで作られたまたは大きさが変えられた物が
     描画先になる 

	screen 0,100,100
	screen 2,100,100

     とすると あとで作られた(大きさを変えられた)ウインドウが
     描画先になるのだ だから この下に mes "ヤッホー" とあった場合は
     ウインドウ2に書かれる 
     そしてその描画先を変えるには gsel が必要なのじゃ
     gsel (描画先にしたいウインドウの番号),1 とするとその指定した
     ウインドウが描画先になって mes "ヤッホー" なんかがあると
     その指定されたウインドウに表示されるのじゃ
     話が戻るが なんで gsel が無いと絵が表示されないかというと
     一応 buffer で作ったやつも 見えないウインドウなので
     描画先が 仮想画面2になっちゃってるのだ
     やっと話が元に戻れる(^o^;
     じゃあ これの説明な
 

		
	buffer 2
	picload "zyuunana-1.bmp"
	gsel 0,1
	gcopy 2
	stop

     もういわなくても分かるか?
     buffer 2 で仮想画面2を作成(このとき描画先は仮想画面2)
     picload "zyuunana-1.bmp" zyuunana-1.bmp を仮想画面2にロード
     gsel 0,1 で 描画先をウインドウ0に切り替え
     gcopy 2でウインドウ2(正確には仮想画面2)の内容をコピーして
     今の描画先に貼り付ける
     gcopy が説明不足か?
     gcopy というのは 指定したウインドウまたは仮想画面の内容をコピーして
     今の描画先にそのコピーした画像を貼り付けるというもの

まとめ

     buffer・・・仮想画面を作成

         buffer 2

     gcopy・・・指定したウインドウまたは仮想画面の内容を

           コピーして今の描画先に表示する

         gcopy 2

     gsel・・・指定したウインドウを消したり描画先にしたりする

         gsel 0,1

     戻る コウザへ ホームへ 次へ