randomize

2014/09/12

Arma3スクリプティング講座その3:スクリプトの基本

第三回。

まずは前回の答え合わせから。答えは「対象ユニットのX座標、Y座標を変更せずZ座標を10に設定する」でした。端的に言えばユニットのELEVATIONと同じ働きですね。

さて、本題に入りましょう。今回はスクリプトで使われる各種用語についてです。
まず前回配列配列と呼んでいたのは、Arrayと呼びます。Arrayは前回も述べたとおり[]でくくられ、,で区切りがつきます。また、selectスクリプトでデータを取り出すことが出来ますが、データの番号は1から始まるのではなく0から始まる点について注意が必要です。以下にArrayの例を示します。
[0,5,true,["STRING",false]]
この例では左から2番目の「5」のデータを取り出したい場合、select 1を実行します。
次に、Numberです。Numberは文字通り数字です。以下に例を示します。
0
1
500
1000
0.1
次にString。ちょっとなじみの薄い言葉ですが、文字列です。以下に例を示します。
"This is String"
次にBoolean。trueとfalse、真理値、真偽値とかいう奴ですね。Booleanはnotスクリプトを挟むと状態が反転します。つまり、not trueはfalseとうわけです。
次にObject、これは前回で言うInitialization欄のthis、playerなどです。

さて、ここまで重要なデータを説明しました。次はデータの取り扱い方、最初は代入から行きましょう。
まずは次のスクリプトを実行してみてください。
myFirstString = "This is a value!" ; hint myFirstString
ここで新しく出てきたスクリプトを軽く解説。
=は左側の変数に右側のデータを代入する、ということです。つまり今回はmyFirstStringという変数に"This is a value!"というデータが入っています。
次に;ですが、こいつは超重要。こいつがいないとArma3はスクリプトの区切りを認識してくれません。セミコロンを入れることで前のスクリプトと後のスクリプトを別物として認識させているわけですね。今回はhint myFirstStringのほうにはセミコロンを入れていませんが、クセとして常にスクリプトの区切りに入れておくといいかもしれません。
さて、みなさんのArma3の画面にThis is a value!という表示が出たと思います。myFirstStringはこのゲーム中では"This is a value!"というデータを収納しており、どこでもそれを使うことが出来ます。上書きしない限り。

…さて、今回の実習。Arma3にはsetDirというスクリプトがあります。これは渡されたObjectの方位を設定するということで、0~360の数字を入力するとそれに応じて方位が設定されます。180を入力すると真南を向くという感じに。というわけで、次のスクリプトを見て挙動を考えた後、実行してみてください。
myFirstNumber = 90 ; player setDir myFirstNumber

0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。