HSPの基本

〜HSPの基本〜

HSPの基本はまず命令をかくまえにtab(タブ)
をいれてからからパラメーターにないようを書きます。
こうすることによってスクリプトが見やすくなります。

命令とパラメーター?と思っている人もいるでしょう
まず命令は何をするかを決めるようなものです。
パラメーターは命令で何をするかを決めるようなものです。
ここで注意するのは命令とパラメーターの間にはスペースを
必ずいれます。

〜HSPで文字表示〜

HSPで文字を表示するためには mes(命令) の命令の命令を使います。
mesの命令は文字を表示させるという命令です。
mesのパラメータは " " の間に言葉を入れると " " の間の文字が表示されます。

ではまず、

mes "TEST"

と打ってから実行してみてください。

どうでしょう、一瞬ウインドウが表示されて閉じたでしょう。
失敗じゃあありません、それでいいのです。
この命令は文字を表示させるだけの命令です、その後は命令がないので
ウインドウが閉じてしまいます。
そうしたらどうしたらいいでしょう、チョット考えてから文字をアクティブ
にしましょう。
それはスクリプトの流れを止めればいいのです。

スクリプトの流れを止める命令は stop この命令を使えばスクリプトの流れを
止めることができます。
この命令はパラメータはありません。

そしたら

mes "TEST"
stop

と打って実行してみましょう、どうでしょうちゃんとTESTと表示されたでしょうか?
もし表示されていなかったら命令が間違えている可能性があります。

〜位置を決める〜

今度は描画する位置を決めましょう。
描画する位置はつねに "カレントポジション"
に描画されます。
カレントポジションを変更する命令は "pos" 命令です。
posのパラメーターは二つあり、パラメーターが二つある場合
コンマで区切りパラメーターを書きます。
ではこのスクリプトを実行してみてください。

pos 100,50

mes "TEST"

stop

どうでしょう TEST の文字がずれて表示されたでしょうか。
posの命令は "X値とY値を決めカレントポジションを変更します。"
順番は X,Y の順番です。

〜画像を表示させる〜

画像を表示させるには "picload" の命令を使います。
picloadのパラメーターは
"画像ファイル名",ウィンドゥを初期化または画面上にロード,新規ウィンドゥサイズ
では適当な画像を選び次のスクリプトを実行してみてください。

picload "FAIL NAME"

stop

どうでしょう画像が表示されたでしょうか。
画像の表示は重要な命令なので覚えておきましょう

〜変数〜

さて変数とはなんでしょう少し考えてみましょう。
変数は変わる数と書いて変数です、そう考えれば少し判るでしょう。
変数は数をたしたりひいたりできるものです。
変数の使い方は命令またはラベル以外の文字を使い、数を挿入します。

test=10;変数testに10を入れる。

test+=1;変数testに+1をする。

test-=1;変数testに-1をする。

test=test/2;変数testに÷2をする。

test=test*2;変数testに*2をする。

など使います。
さて今まで習ったことを使って動くものを作れそうですね。
カレントポジションを変数にすればいいのです。←さてけれど変数を足しひきできても何回もその行動をしなければいけません。
そこで登場する命令は
repeat 回数loopwait 数await 数 です。
命令が沢山でてきましたが、判らない事はありません。
まず repeat loop ですがこの命令は二つで一つの命令です。
repeat で回数を決め、 loop で何処で repeat まで戻るかを決める命令です。
例えば

x=0
y=0

repeat

x+=1
y+=1

pos x,y
mes "test"
loop

このスクリプトは実行しないで下さい、下手をしたらパソコンが止まります。
このスクリプトはrepeat〜loopまでの間を繰り返す命令ですが実は高速で処理
が行われているためメモリー不足になります。
この事体を防ぐのが

wait await

です。
この命令はスクリプトの流れを一時的に止めるものです。
wait 1 と await 1 では await のほうが待つ時間が短いので
高速は描画が必要なときは await それ以外の時は wait でいいでしょう
では次はこのスクリプトを実行させてください。

x=0
y=0

repeat

x+=1
y+=1

pos x,y
mes "test"
wait 1
loop

文字は表示されましたか?
答えはNOです。
この命令は
pos x,y

test
を表示させ次は
pos x,y;+1されている

test
と表示させているので一つ前の画面は残ってしまいます。
けれど "cls"
命令を使う事によって画面を消す事ができます。
cls 命令は画面を初期化する命令です。
パラメーターは 0〜4 まであり
白 0,1,2,3,4 黒
こんな感じになります。
さて今度はこのスクリプトを実行してみてください。

x=0
y=0
repeat
cls

x+=1
y+=1
pos x,y
mes "test"
wait 1
loop

どうでしょう動いたでしょうか。
このスクリプトは一度表示した test は消すようになっています。

〜条件分岐〜

さて次は条件分岐です、条件分岐とは例えば
もしA君がジャンケンで勝ったら100円あげる。
でももしA君が負けたらなにもあげない。
などという意味です。
さてそのもしの意味を持つ命令は if です。
if の書き方は。

if 10>a:a=0
if 10 if 10>a{
a=0
}
といった感じで不等記号を使います。
不等記号の意味。

a = b aとbが同じ数値。
a ! b aとbが異なる数値。
a > b aよりbが大きい
a < b aよりbが小さい

ifの命令を使えば条件を作り色々なことができるようになります。



長い時間お付き合い有り難う御座いました、もしスクリプトの命令のミス
や間違えている点などがありましたらken9ball@k9.dion.ne.jpまで
メールを送ってください。

BACK