Mojangより配信されているMinecraft: Pocket EditionのModについて包括的に扱うwikiです。

ここでは、XYZで表現されるマインクラフトの空間座標を、上手く活用するためのTipsを紹介しています。

0.距離の求め方


点P1(x1,y1,z1)と点P2(x2,y2,z2)の間の距離rを求めるには、
var r=Math.sqrt( (x1-x2) * (x1-x2)+(y1-y2) * (y1-y2)+(z1-z2) * (z1-z2));

1.一次元の扱い方

一次元は変化する軸が一つだけの線のこと。
x,y,zの3つの軸の内、一つだけを選んで順々に変化させてLevel.setTileすれば、その軸に平行な線が引ける。
例えばx軸を選んで、増やしていくとする。
xが増える方角は東なので、x+iしていくけば、線は東へ伸びていくこととなる。

真っ直ぐな線を作る

例)棒でタップすると東に向かって石の線を作る

2.二次元の扱い方

二次元は変化する軸が2つある平面ということ。
x,y,zの3つの軸の内、先ずは一つを選んで一次元の感覚で線をなぞる。
そして、なぞった一次元の線の各点を起点に別の軸の一次元の線をなぞれば、二次元の平面を扱える。
板の作り方

例)棒でタップすると東に向かって石の板を立てる

枠の作り方
板のコードを基に条件付けをする。
一つ目の次元をx、二つ目をyとすると、
xの最初と最後はyの線を引くのでそのまま、それ以外はyの線の最初と最後だけ枠のブロックを置く、という条件になる。
これをコードにすると↓のようになる。
もしも中身を別のブロックに置き換える場合は flag=true; そのままにしたい場合は flag=false; で切り換えられる。

中身を空気ブロック(ID:0)で置き換えて、石の枠を作る

円盤の作り方
枠と同じ様に、板のコードに条件付けをする。
条件は、円の公式を用いる。
点(a,b)を中心とする半径rの円は (x-a)^2+(y-b)^2=r^2 で表せる。
この円より内側は (x-a)^2+(y-b)^2<r^2 、外側は (x-a)^2+(y-b)^2>r^2 と表せる。
中心が(x,y)で半径rの円を作りたい場合、iとjを-rから+rまで変化させ円盤を丁度含む範囲を指定する。
↓のようなコードになる。

円盤を作る


楕円の円盤の作り方
楕円の場合も同じ、楕円の公式から条件付けを行う。
点(a,b)を中心に、x軸の径がA、y軸の径がBの楕円の公式は (x-a)^2/A^2+(y-b)^2/B^2=1 。A、Bはそれぞれ円の半径にあたる部分のようなもので、A==Bの場合が円。

楕円を作る

3.三次元の扱い方

立体空間は、二次元の平面がズラーッと並んだものと考えると分かりやすい。
豆腐の作り方
二次元の板をズラーッと並べるだけ。

石の豆腐を作る

箱の作り方
これも同じ、枠を条件付けで並べるだけ。

石の箱を作る

球の作り方
これは円盤の考え方と同じ。
円盤は円の公式から円の内側か外側かを判別して条件分けした。
球も同じように、球の公式から球の内側、外側を判別する。
点(a,b,c)を中心に持つ半径rの球の公式
 (x-a)^2+(y-b)^2+(z-c)^2=r^2 
から、その球の内側か外側かを条件として扱う。

球を作る

楕円体の作り方
楕円体は、立体の楕円、歪んだ球のこと。
点(a,b,c)を中心に持ち、x軸、y軸、z軸それぞの径が(A,B,C)の楕円体の公式
 (x-a)^2/A2+(y-b)^2/B2+(z-c)^2/C2=1 
から、その楕円体の内側か外側かを条件として扱う。

楕円体を作る

タグ

コメントをかく


利用規約をご確認のうえご記入下さい

WIKi内検索

メンバーのみ編集できます

メンバー募集!