欢迎光临散文网 会员登陆 & 注册

电梯代码-甜甜的又又us

2023-07-16 17:26 作者:逗比的锯齿虎  | 我要投稿

const elevator = world.querySelector('#电梯地板-1') // 获取电梯地板实体


move = 0 //用于判断电梯是否正在移动的变量


elevator.collides = true // 电梯开启碰撞检测


elevator.fixed = true // 电梯不受外力影响


world.onEntityContact(({entity, other})=>{ // 实时监测整个世界的实体碰撞事件。entity指被碰撞的实体, other则是主动撞过来的实体


    if (move == 0){ //避免重复引发事件带来的电梯鬼畜


        if (entity.id=='电梯地板-1' && other.isPlayer){ // 如果 玩家踏上了电梯


            if (elevator.position.y<=28){ // 如果电梯y低于2楼地板, 则判定玩家在1楼


                entity.velocity.y = 0.1 // 电梯持续上移


                world.say(other.player.name+' 坐电梯上楼')


                move = 1 //设置值为1,表示电梯开始移动


            }else{


                entity.velocity.y = -0.1 // 电梯持续下移


                world.say(other.player.name+' 坐电梯下楼')


                move = 1 //设置值为1,表示电梯开始移动


            }


        }


    }


    })


world.onTick(async()=>{ // 实时检测电梯位置, 进行检测是否到达1楼或2楼


    if (elevator.position.y>34){ // 如果电梯y坐标高于2楼的地板, 电梯到达2楼


        elevator.position.y = 34 // 复位到2楼的准确位置


        elevator.velocity.y = 0 // 电梯停止移动


        await sleep(1000) //等待1秒,避免电梯停止时玩家弹起再次与电梯发生碰撞让电梯下行


        move = 0 //设置为0,表示电梯停止移动


    }


    if (elevator.position.y<28){ // 如果电梯y坐标低于1楼的地板, 电梯到达1楼


        elevator.position.y = 28 // 复位到1楼的准确位置


        elevator.velocity.y = 0 // 电梯停止移动


        await sleep(1000) //等待1秒,避免电梯停止时玩家弹起再次与电梯发生碰撞让电梯上行


        move = 0 //设置为0,表示电梯停止移动


    }


})


电梯代码-甜甜的又又us的评论 (共 条)

分享到微博请遵守国家法律