猫史档案馆


一个过山车代码

用户:面具狐狸云绾兮面具狐狸云绾兮查看: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
但是,还回到起点再来(非常快)
*/
//这个过山车只是测试,删掉就行(代码别删!!!)


回复

上一页1 页 / 共 1下一页
lon江航lon江航

emotion_编程猫_点赞

点赞0


评论


Ken李Ken李

收藏了

点赞0


评论


BZS编程球球BZS编程球球

姐姐听不懂

点赞0


评论


神龙_build神龙_build

center_image

点赞0


评论


猫悟淡猫悟淡

怎么使用?

点赞0


评论


治愈绾兮治愈绾兮

注意视角要变化,改变creamEntity,额,我好像拼错了()()()

点赞0


评论


星辰Lolita星辰Lolita

animate更流畅

点赞0


评论