【代码】这个传送实体特效这么流畅?太丝滑了吧!
星光雪糕
2022年02月09日 19:40
收录于文集
共12篇

代码块
JavaScript
自动换行
复制代码
/**
 * 星雪代码(主页:https://box3.fun/u/Coder)
 * @param {Box3Entity | Box3PlayerEntity} entity  要传送的实体
 * @param {Box3Vector3} startPoint  开始的地点
 * @param {Box3Vector3} endPoint    结束的地点
 */
function linkPosition (entity, startPoint, endPoint) {
    const boolean = entity.isPlayer ? entity.player.spectator.valueOf() : entity.collides.valueOf();
    entity.isPlayer ? entity.player.spectator = true : entity.collides = false;
    const handler = entity.animate([
        {position: startPoint.clone()},
        {position: endPoint.clone()}
    ],{
        duration: 16 * startPoint.distance(endPoint) / 10,
        iterations: 1,
        direction: Box3AnimationDirection.NORMAL,
    });
    handler.then(()=>{
        entity.isPlayer ? entity.player.spectator = boolean : entity.collides = boolean;
    });
    return handler
};
复制成功

你可以这样用:

代码块
JavaScript
自动换行
复制代码
//当玩家血量归零(阵亡)后回到出生点 
world.onDie(async({entity})=>{ 
    if(!entity.isPlayer)return; 
    linkPosition(entity,entity.position,entity.player.spawnPoint) 
});
复制成功

代码仅供学习及使用 不可抄袭或盗用

以下是凑字数:给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧给个三连吧