最終更新:
programmergenboo 2016年06月14日(火) 19:02:38履歴
Entity.getYaw(EntityUUID); getYaw(EntityUUID);これを使うと、エンティティの向いている方角が判る関数。
より詳細に言えば、エンティティの向いている方向が、z軸に対してどれくらい回転しているかを取得する関数。
反時計回りで無限に増加、時計回りで無限に減少する。
例えば80から時計回りに三回転すると、 -360x3+80=-1000になる。
yaw/360すれば、どっち回りに何回転したかが判る。
プレイ中は無限に増加・減少するがゲーム開始時には-360<yaw<360の範囲内に収まっている。
方角が知りたいだけなら、このままでは扱いにくいので、
yaw=((yaw%360)+360)%360;
でyawを0以上360未満に丸める。
するとyawは↓のような関係になる。
| 南(z+方向):0° 西(x-方向):90° 北(z-方向):180° 東(x+方向):270° | ![]() |
| 型 | 引数 | 説明 | 省略 |
|---|---|---|---|
| Number | EntityUUID | エンティティ固有の番号 | Entity.getYaw:不可 getYaw:可(Player.getEntity()) |
- getYawは引数を省略するとプレイヤーのPitchが得られる。
//プレイヤーの現在のyawを表示するテンプレ
function modTick(){
var yaw = getYaw();
ModPE.showTipMessage("プレイヤーの今のyawは\n"+yaw);
}
//0以上360未満に丸めて表示するテンプレ
function modTick(){
var yaw = getYaw();
yaw=((yaw%360)+360)%360;
ModPE.showTipMessage("プレイヤーの今のyawは\n"+yaw);
}
//向いてる方角を表示するテンプレ
var hougakuArray = [ "南" ,"南南西" ,"南西" ,"西南西", "西" ,"西北西" ,"北西" ,"北北西" ,"北" ,"北北東" ,"北東" ,"東北東" ,"東" ,"東南東" ,"南東" ,"南南東" ];
function modTick(){
var yaw = getYaw();
yaw=((yaw%360)+360)%360;
var hougaku = hougakuArray[ Math.round(yaw/22.5)%16 ];
ModPE.showTipMessage("プレイヤーの向いている方角は\n"+hougaku);
}
タグ


コメントをかく