用户:
面具狐狸云绾兮查看:47 回复:7 评论:47 创建时间:2020-05-02T20:51:49
没什么,就怕没了
(async function () {
var x, y, z;
//三个存贮坐标的数组
async function zzf() {
//定义初始化,讲所有的输据存储起来
x = [69.5, 69.5 - 1, 69.5 - 2, 69.5 - 3, 69.5 - 4, 69.5 - 5, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 6, 69.5 - 7, 69.5 - 8, 69.5 - 9, 69.5 - 9, 59.5, 59.5, 59.5, 59.5, 59.5, 59.5, 59.5 + 1, 59.5 + 2, 59.5 + 3, 59.5 + 4, 59.5 + 5, 59.5 + 6, 59.5 + 7, 59.5 + 8, 59.5 + 8];
//把所有的x坐标存储起来
y = [10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2 + 1, 10.2 + 2, 10.2 + 2, 10.2 + 3, 10.2 + 3, 10.2 + 3, 10.2 + 3, 10.2 + 3, 10.2 + 3, 10.2 + 3, 10.2 + 3, 10.2 + 3, 10.2 + 4, 10.2 + 5, 10.2 + 4, 10.2 + 3, 10.2 + 4, 10.2 + 4, 10.2 + 3, 10.2 + 2, 10.2 + 1, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2 + 1];
//把所有的y坐标存储起来
z = [63.6, 63.6 + 1, 63.6 + 2, 63.6 + 3, 63.6 + 3, 63.6 + 3, 63.6 + 3, 63.6 + 2, 63.6 + 1, 63.6, 63.6 - 1, 63.6 - 2, 63.6 - 3, 63.6 - 4, 63.6 - 5, 63.6 - 6, 63.6 - 7, 63.6 - 8, 63.6 - 8, 63.6 - 8, 63.6 - 8, 63.6 - 7, 56.6, 57.6, 58.6, 59.6, 60.6, 61.6, 61.6, 61.6, 61.6, 61.6, 61.6, 61.6, 61.6, 61.6, 62.6];
//把所有有的z坐标存储起来
}
world.onPlayerJoin(async ({ entity }) => {
world.querySelector("." + 's').onEntityContact(async ({ entitiy, other }) => {
//检测是否碰撞
//s指的是实体标签
world.querySelector("." + 's').say('Hi,欢迎来看过山车');
//带s标签的实体打招呼,之所以是看,是因为只有车走,人只能在旁边看(狗头保命)
//加在循环外,每次只有碰到才说
for (var count2 = 0; count2 < 5; count2++) {
//重复5次
zzf();
//每次执行一次初始化,因为把值去掉了(详情见第32行)
var repeat_end = x.length;
for (var count = 0; count < repeat_end; count++) {
//重复执行列表(x,y,z通用)的长度次,也就代表一共要走的路程
world.querySelector("." + 's').position = new Box3Vector3(x.splice(-1, 1)[0], y.splice(-1, 1)[0], z.splice(-1, 1)[0]);
//分别提取并删除x,y,z值。可以节省一个变量
//同理,s也是指的实体的标签
await sleep(500);
//等待0.5秒
}
await sleep(2000);
//等待2秒
}
});
});
})();
/*
执行的时候会发生偏移,穿墙,不见了(在绿色方块那里,会过一会再出现,因为那里等待了两秒(第37-38行))的情况,
那是因为这个坐标不准确,建议一次次讲模型移动到那个位置再记录
*/
/*
这段代码比昨天的节省了3/1的行代码,修改数值简便
而且避免了在执行中再次碰撞发生不按照正常轨迹走的bug
但是,还回到起点再来(非常快)
*/
//这个过山车只是测试,删掉就行(代码别删!!!)