HSP3講座〜0から他の講座までのつなぎ〜 
ステップ9:配列変数を使い、スクリプトの分割をしてみよう。

満月芸夢topへ
HSP3講座topへ

<<前へ 次へ>>

【目次】
ステップ0:HSP3をダウンロードしてゲームを作る準備をしよう。
ステップ1:エディタを立ち上げて画面を表示してみよう。
ステップ2:画像を表示してみよう。
ステップ3:文字を表示してみよう。
ステップ4:実行ファイルを作ってみよう。
ステップ5:変数を使ってみよう。
ステップ6:ループ文やif文、乱数を使ってみよう。
ステップ7:goto文、gosub文を使ってみよう。
ステップ8:これまでの内容でゲームを作ってみよう。
ステップ9:配列変数を使い、スクリプトの分割をしてみよう。
ステップ10:音を追加し、透明色を使ったアニメを作ってみよう。


さて、今回教える内容は「配列変数」と「スクリプト(ファイル)の分割」だ。
サンプルを用意したのでとりあえず触ってみてくれ。

sample09_01(配列変数とスクリプトの分割)

うむ、ではエディタで開いてみよう。
今回はスクリプトファイルが二つになっているんだな。




で、sample09_01.hspの方をコンパイル+実行するとこのような画面がでると。
ふむ。



では、まずは「配列変数」について説明していこう。

「配列変数」は「変数」と同じように数字を放り込む箱を作ることができるんだ。
変数と違うのは、指定した数だけ番号のついた箱がずらっとできるってところかな。

今回は数字を放り込むからdim命令を使っているが、
文字を放り込む場合はsdim命令というのを使わなければいけないから注意してくれ。
(sdimの説明は省略します。気になったら調べてみてください)

今回はsample_09_01.hspの2行目で5個箱をつくり、
4〜8行目で変数と同じように数字を放り込んでいるよ。

イメージとしてはこんな感じだね。



うーむ……変数と同じように使えるというのはわかった。
しかし、配列変数を使うことの利点が今一つ分からないな。

配列変数のかわりに変数をたくさん使っても変わらない気がするのだが。
利点としては「配列変数を利用することでまとめて処理できる」ってことかな。
例えば、
---------------------------
dim hairetu,10     ;配列を確保

x=0          ;カウント用の変数
repeat 10       ;10回ループさせる
  hairetu.x=1    ;hairetu.x(xは0〜9)に1を代入
  x=x+1       ;変数xに1を足す
loop
---------------------------
のように記述すればhairetu.0〜hairetu.9までのすべてに1を代入できる。
なるほど!
配列の番号を利用することで処理をまとめられるのか。
そういうことだね。
では、次は「スクリプト(ファイル)の分割」について説明していこう。

sample_09_01.hspの23行目に、
#include "sample09_bunkatu.hsp"と書いてあるだろう。
こう書くことで"sample09_bunkatu.hsp"があたかもこの23行目に挿入されたように扱われるんだ。
むむむ……わかるようなわからないような。

では例をあげようか。
"sample09_01.hsp"と"sample09_bunnkatu.hsp"を分割せずに表現したらこんな感じになるよ。
実行内容は分割した場合とまったく一緒だ。


なるほど。
確かに"sample09_bunkatu.hsp"が"sample09_01.hsp"の#includeの部分に挿入された形になってるな。
「配列変数」と「スクリプト(ファイル)の分割」についてはこんな所だね。
使わなくても問題ないけど、使うとスクリプトがすっきりとして分かりやすくなるよ。
ああ、これはなかなか便利そうだ。
よし、では次は「音楽・効果音の付け方」と「透明色を使ったアニメーションの作り方」について教えよう。

それでボクの教えることは一通り終わりだ。
後は自分で調べたり、分からないときにまたボクに質問してくれ。
わかった。
アルマ、最後までよろしく頼む。

しかしもう終わりか……長かったような短かったような……。
よし!気を引き締めていくぞ!
<<前へ 次へ>>
inserted by FC2 system