今回は複数のブロックを並べてみます。
今は何にもない状態。広々した世界が続く・・・
では自分の座標に対してx軸方向に5つ指定したブロックを並べてみましょう。
これが今回のスクリプトです。
まず1〜3行はおなじみの呪文。
4行目はプレイヤーのタイルでの位置情報を取得し変数posに格納。
5行目〜9行目は、プレイヤーの位置情報を基準にブロックを並べるスクリプトです。
ここでブロックIDが「1」のSTONEを指定しています。
5行目はプレイヤーの位置情報のx軸の位置に+1足したところにブロッックを置きます。
6行目はプレイヤーの位置情報のx軸の位置に+2足したところにブロッックを置きます。
というように、X座標に+1足してずらしてSTONEを配置させます。
では実際にこのスクリプトを実行するとこんな感じ。
ドン!!
STONEがX軸方向に5つ配置されました。簡単ですね。
では次にY軸とZ軸にも5つSTONEを配置します。
今度はわかりやすく空中でやってみます。ジャンプ!!
そして〜
ドン!!
X・Y・Z軸にそれぞれ5つSTONEを配置出来ました!!
スクリプトはこちら。
今ので19行、ちょっと長いですね。
少しスリムにしてみましょう。
同じ結果で7行にしてみました。
ちなみに、今度はブロックをSTONEではなくGLASS(ガラス:20)にしました。
結果はこんな感じ。
ドン!!
同じ結果ですね。ブロックの種類は違いますが。
では何が違うのか。
メソッド(関数)を変えました。
setBlocks()を使います。
今までのメソッドとほぼ同じですが最後に「S」が付いてますよ。複数形ですね。
関数の中身ですが、最初に基準となる位置をx,y,z軸で指定し、その後に並べる最終位置をx,y,z軸で指定します。
例えば下の例だと、
setBlocks(pos.x+1,pos.y,pos.z,pos.x+6,pos.y,pos.z,20)
x軸だけみると、プレイヤーの位置pos.x+1からpos.x+6まで並べます。
y・Z軸はプレイヤーの位置から変更なし、という設定です。
この結果はプレイヤーのX軸方向に5個GLASSを配置してくれます。
先ほどのスクリプトの6行目はY軸方向、7行目はZ軸方向の命令です。
ということで、次回はさらによりプログラミングチックにやってみましょう!!