用户:
yee089查看:7 回复:3 评论:7 创建时间:2022-07-05T20:30:46
console.clear();
const X = 'X',
Y = 'Y',
Z = 'Z';
async function Rotate(t,an,id,axis,IsClockwise){//time,angle,entity,axis,IsClockwise()
let v = an / t;
t /= 50;
if(IsClockwise){
v = -v;
}
let entity2 = world.querySelector('*'+id)
for(let i = 0; i < t; i++){
await sleep(50);
entity2.meshOrientation = entity2.meshOrientation["rotate"+axis]( v / 180 * Math.PI);
}
}
Rotate(114514,1919810,'114514',X,true);
用法:
t->持续时长
an->总旋转角度
id->要旋转的方块名称
axis->旋转的轴
IsClockwise->是否顺时针(true为是顺时针)。
比较喆的代码的优点:1、一次性搞定3个轴旋转,而不是复制3遍+小改动,简化了代码量、阅读性(原版复制3遍惨不忍睹、)
2、方便使用,不需要进行任何调试(编不下去了😢)
核心原理:a.az = a['az'](类の神奇特性,非常滴妙)()()
SKQA官方以前教程用不上也就算了,这次教程我真搞不懂,复制三遍还不封装函数,同样是旋转 xz轴还要分开两个函数写
还有提个建议,t an参数我们一般用不到,建议设个默认Infinity
点赞0
评论