忍者ブログ
暇人おやじの暇なつぶやき
[1] [2] [3] [4]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

そろそろhspのほうでレベルアップしてみよう
といってもボタンを置いてみる

ボタン-ユーザーがクリック出来る部品であり、処理の分岐などに使用されるもの

これを画面に表示するには
button "文字",*shori1
もしくは
button gosub "文字",*shori1
となる

おや、ここで新たな命令「gosub」の登場だが、これは置いといて
(詳細知りたい場合はヘルプ参照)
次がbuttonのサンプル

button "文字",*shori1
*shori1
 mes "shori1"

どのような動き?をするかな?
ここら辺からhsp というか、プログラミングのトリッキーなところが出てくるので
しっかりと覚えていきたいのでR

PR

gsel 命令や pos 命令で指定する数値は画面を特定したり、表示する位置を特定したりする
しかしこの数値を「数値」としてコードを記載していたのでは、後々何の画面なのか
はたまた、位置があっているのかわからなくなる

そ こ で

変数や定数
イコールで代入するのは変数 X=1 など
あらかじめ決められて変わらないのが定数 #const  gamen_main 1

#const gyou1 0
mes "これは1行目"
pos 100,gyou1
mes "これは2行目"

これは定数「gyou1」を定義している中身は「0」
そしてpos命令にて使用している

久しぶりのhsp
前回は gsel命令による画面選択を行なった

では、その画面に文字を出力する mes 命令だが
このmesを特定の位置に出力するにはどうするのか?

それには pos命令を使用する

指定しない場合、起点 X=0、Y=0の画面左上から表示する毎に1行づつ改行される

mes "これは1行目"
mes "これは2行目"

そこで、
mes "これは1行目"
pos 100,0
mes "これは2行目"

とすると一行に表示されるのだ

いきなりだが次のプログラムはどっちの画面に表示されるだろうか?

screen 0
screen 1
mes "この画面はどっちかな?"

実行してみると、どちらかわかりにくいが、screen 1に表示される
わかりやすくするために title 命令を入れてみよう
screen 0
title "0"
screen 1
title "1"
mes "この画面はどっちかな?"

これで画面にタイトルが表示されるようになり、どちらにメッセージが表示されたかが
良くわかる

この例を見てもわかるように、メッセージやタイトル、その他の画面に関する命令は
最後に選ばれた画面に対して作用する

そこで、gsel 命令で 作用させたい画面を選ぶ

screen 0
title "0"
screen 1
title "1"
gsel 0
mes "この画面はどっちかな?"

これで、「この画面はどっちかな?」はscreen0に表意されるのでR

さて、screen命令もそろそろ一旦〆てみよう

いままで行ってきたように

screenには

・何も指定しないで表示されるscreen 0(ゼロ)の画面がある
・そしてこの画面が固定画面である
・screen 1以降に作成される画面は枠を動かせる
・いきなり1で作成しても0の画面が表示される
・画面に表示されないbuffer命令がある

とまとめるとこんなところか?

さて、ではscreenを2つ3つ表示した際にどの画面に文字を表示するか?
どの位置に表示するか?

それらは、gselやpos命令を使用するのだが
それはまた明日



screen命令の説明を見てみよう
-----------------------
指定したウィンドウIDを初期化して使用できるようにします
-----------------------
指定したウィンドウIDを初期化して使用できる
とある、しかし screen 1 とした場合2つの画面がでてしまった

もう一つのプログラム mes "ハローワールド" では画面の指定などしていないの
画面に表示された

このことから、どうやら特殊な画面であるウィンドウID=0の画面は自動で初期化され
利用できるようになるようだ

そこで、この画面を表示しない方法として、画面をメモリ上だけに留めておき
ディスプレイ上には表示させない命令=bufferがある
buffer 0
とだけで起動してみると、一瞬だが画面がでて、終了する
そこで
buffer 0
screen 1
としてみよう
どうだろうか?画面はいくつ表示されたかな
screen命令の妙でR

screen p1,p2,p3,p4,p5,p6,p7,p8
p1=0~(0)   : ウィンドウID

一番重要なパラメータの1番目「p1」これにはウィンドウIDを指定する
昨日のように指定しなくてももちろん起動するのだが、このパラメータを
指定しない場合、「0」(ゼロ)番としてscreen(=つまり画面)が表示される

番号0の画面は特殊な画面、つまりmesだけでも表示される規定の画面である
このためこの画面は大きさを変えられるようにはなっていない

そこでサイズを変更できる画面を表示する場合には、このp1の「1」以上の
数値を指定する。以上といっても通常は1から順番に指定する

screen 1


これで起動してみよう
さて、どんな画面が表示されるかな???

2つの画面が表示されてしまったと思う
そう、それは正解でR

では何故か?

それはまた明日た



忍者ブログ [PR]
カレンダー
08 2024/09 10
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
フリーエリア
最新CM
最新TB
プロフィール
HN:
忍者 シオ才
性別:
非公開
バーコード
ブログ内検索