最終更新: 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); }
タグ
コメントをかく