用户:
有实力就对了查看:10 回复:11 评论:10 创建时间:2021-08-10T15:30:38
我的天哪!就在我以为我可以拥有权限时,突然弹出一堆看不懂的玩意,还问我啥意思?哦咋知道?
有实力就对了console.clear() constmscale=1/16 constQuat=newBox3Quaternion(0,0,0,1) functionbu喵yFollow(entity,mesh,y){ constbu喵y=world.createEntity({ mesh, position:entity.position, meshScale:[mscale,mscale,mscale], gravity:false,//不受重力影响 fixed:false,//可推移 collides:true,//可碰撞 friction:0,//无摩擦力 mass:0.01,//非常轻 }) consttgPos=entity.position//僚机的目标位置 constbudPos=bu喵y.position//僚机的当前位置 constfacing=entity.player.facingDirection//玩家的朝向 constratio=0.3//追随的灵敏度,最好设在0.5左右,1.0表示立即移到玩家位置 constdist=2//与玩家保持的距离 constyOffset=y//y轴位移,保持僚机在头顶或脚下 constticker=world.onTick(()=>{ //要让小精灵跟在玩家背后,需要计算xz轴的位移:玩家朝向的反方向 constxOffset=-facing.x*dist constzOffset=-facing.z*dist //当前位置与目标位置在xyz轴的差距 constxDiff=tgPos.x-budPos.x constyDiff=tgPos.y-budPos.y constzDiff=tgPos.z-budPos.z //计算xyz方向上当前位置向目标位置靠拢的速度 const喵=(xDiff+xOffset)*ratio constvy=(yDiff+yOffset)*ratio constvz=(zDiff+zOffset)*ratio bu喵y.velocity.set(喵,vy,vz)//设置僚机速度 if(bu喵y.velocity.sqrMag()>0.005){//速度要足够大,才触发转向,防止抖动 bu喵y.meshOrientation=Quat.rotateY(Math.atan2(zDiff,xDiff))//让小精灵一直面向玩家 } }) return()=>{ ticker.cancel()//关掉tick循环 bu喵y.destroy()//移除僚机实体 } } world.onPlayerJoin(({entity})=>{ entity.setPet=bu喵yFollow(entity,'mesh/皮卡丘.vb',-1)//给玩家增加宠物 }) world.onPlayerLeave(({entity})=>{ //玩家离开地图时,切记一定要关掉tick循环以及销毁小精灵实体,否则随着人数增加,服务器积累到一定程度就会崩溃 entity.setPet()//干掉宠物 }) 我回啦,不过大部分是抄的imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E6%90%93%E5%A4%B4.gif"alt="emotion_编程猫_搓头"
点赞0
评论