〜HSP簡単講座〜
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() | |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
〜HSP発展編について〜ここではHSPを使う編で使用していた命令や、新しい命令を使うことでHSPで制作編に向けての理解を深めてい くページです。まだHSPを使う編をマスターしていない方はそちらのページへ どうぞ。 それではさっそくHSP発展編の内容に入っていきましょう。 〜タイトルを付けてみる〜インターネットでもページのタイトルが表示されるように、HSPでも出力した画面のタイトルを付けることが できます。 タイトルを付けるためには「title ""」命令を使います。「title」命令は 「screen」の下の行に書くことにします。下記の画像で書き方を説明しています。 これでタイトルが付けれるようになりましたね。タイトルは出力する画面のx座標が小さい場 合、表示されず途切れることがあるので注意して下さい。 〜サブルーチンについて〜この章ではサブルーチンというプログラムの書き方を説明します。サブルーチンとは意味や内容がまとまって いる作業をひとつの手続きとしたものです。一体どういう意味なのかはプログラムを書いて、試してみるとよ く分かると思います。 サブルーチンを使う場合に最も重要になってくるのがラベル です。ラベルを使うためには「button」命令や、「goto 」命令を用います。まず下記の画像を見てください。 上図を見ての通り「cls」、「pos」、 「mes strf」、「button」、「stop 」という新しい命令が出てきています。ではこれらをひとつずつ見ていきましょう。 〜「pos」命令〜「pos」命令は「pos」以降の行を全て対象とし、文章やボタンの配置場所[ポジション(position)]を指定する ことができます。書き方は下図を見て下さい。 「pos」命令を二回以上使って場所をそれぞれ変えることもできます。 〜「mes strf」命令について〜上図に「a = 10」という操作がありますが、これの説明文としてaという変数に10という値を代入したと書かれ ていることが分かります。変数というのは値が変化するという意味です。上図では aの値は変化していませんが、次の「button」命令の章で変化する様子がよく分かります。 また、「mes strf」命令の書き方は「mes strf("文章%02d",変数)」です。この時 の、「%02d」は正確には10進数で二桁まで表示するという意味を表しています。 三桁まで表示したい場合は「%03d」、四桁まで表示したい場合は「%04d」のように指定します。「%d」を使う 場合は小数点の付いた数字は表示できません。従って小数点を含む数字を表示したい場合は、「%f」を使う 必要があります。小数点以下を二桁表示したい場合は「%0.2f」、三桁表示したい場合は「%0.3f」のように指定 します。 〜「button」、「stop」、「cls」命令について〜「button」命令はその名の通りボタンを作成する命令です。ボタンにも「pos」命令が有効です。ボタン命令 の書き方は「button goto/gosub "ボタンの名前",*ラベル名」となっています。 「goto」命令は初めに出てきましたが、書き方は「goto *ラベル 名」です。これで指定したラベルに進むことができます。 ラベルというのは付箋に名前を付けたようなもので、進みたい付箋の名前を指定することでラベルが出来あが ります。ラベル名には英文字で59文字以内で付けるということが条件です。 それではラベルと「button」、「goto」命令を使った簡単なプログラムを紹介します。 下図のプログラムでは「stop」、「cls」命令が出てきています。「stop」命令を使うことで プログラムを止まらせることができます。これによりボタンを押すまでの間は画面が止まったように表示され ます。 「cls」命令はウィンドウ内の情報をすべてクリア(消す)する役割をしています。上図で「cls」命令を省かない場合 と省いた場合の出力結果を載せてみました。
「cls」命令を省かずに計算ボタンを押した場合
「cls」命令を省いて計算ボタンを押した場合 図から分かるように「cls」命令を省いた場合はウィンドウ内の情報がクリアされていないため、もともと表示 していた10という値の上から30という値が上書きされています。 それではプログラムの説明に入ります。プログラムは図の矢印の方向に進むようになっています。なぜかとい うと、「button」命令により、ボタンが押されると指定したラベルに進むので、「*keisan」というラベルに 進み、そして「goto」命令により「*main」ラベルに進むからです。 ここで気が付くことがありますね? そうです、このプログラムは初めに出てきた プログラムの構成とほぼ同じなのです。簡単に言えばサブルーチンとは計算を行った時の答えを、メインルー チンに返すということですね。 他にも初めのプログラムと異なる箇所がいくつかあります。まず「pos」命令の座標の 指定の仕方です。座標は四則演算を使って指定しても良いのです。 変数bの位置が異なることにも気づきますね。このプログラムでは変数bの位置は、「stop」命令の下の行以外 ならどこに配置しても動作します。 最後に変数aに代入している数値が異なります。下図を見て下さい。 上図のプログラムは一箇所異なるだけですが、計算を行うとおもしろい結果が得られます。その結果は実際に 試して確かめてみて下さい。どんな仕組みなのかを自分で理解することで、人から答えを教えられよりもよ り深い理解が出来ると思います。なお、ここを理解することで変数aがなぜ変数なのかが分かります。 〜HSP発展編終了〜ここまで理解できた方はHSPでちょっとしたゲームを制作してみることにしましょう。もちろんこれまで使って きた命令を多く使用して制作するので、理解することに時間はかからないと思います。 HSP発展編を理解できた方はさっそく制作しよう。 |
||
![]() |
![]() |
![]() |