用户:
凌_墨水查看:15 回复:11 评论:15 创建时间:2020-06-23T19:28:28
有的时候,故宫开车会多出一辆跑车,这是为什么呢?
.............................................................................................................................................................................................................................................................··························.......·.·......···
我们先不急着说原理
首先,来看看车被开走时的运行代码(大概如下):
world.querySelectorAll('.车车').forEach((e)=>{/选中标签为“车车”的模型,给它脸上写个e
e.onEntityContact(({entity,other})=>{ //设置目标模型的碰撞事件.
other.mesh=entity.mesh; //设置玩家的外观.
other.meshScale=entity.meshScale; //设置玩家外观缩放比例.
other.player.invisible=true; //如果模型比玩家小,就需要隐藏玩家的皮肤.
entity.position=new box3Vector3(0,0,0);//把车移到一个不为人知不为人见不为人摸的地方
})//万能框架
})//万能框架
//shy大哥的代码真香
不仅仅如此
还有另一个版本的代码
world.querySelectorAll('.车车').forEach((e)=>{//选中标签为“车车”的模型,脸上贴个e
e.onEntityContact(({entity,other})=>{ //设置目标模型的碰撞事件.
if(!other.isPlayer){return} //防止非玩家实体参与检测.
other.mesh=entity.mesh; //设置玩家的外观.
other.meshScale=entity.meshScale; //设置玩家外观缩放比例.
other.player.invisible=true; //如果模型比玩家小,就需要隐藏玩家的皮肤.
entity.invisible=true;//将模型隐身
entity.spectator=true;//将模型非实体化
})//WNKJ
})//WNKJ
//呀shy大哥的代码太香了
ps:抢车的代码差不多
其实用法上没太大区别
那么
为什么会出现跑车分裂的情况呢
那是因为
两个人同时扑向停车场的跑车
在模型离开的代码来不及运作时
就触发了两个碰撞指令
代码只好先把这两个处理掉
才运作后面的代码
shy大哥的原型代码
墨水改编
暂无人测试BUG