猫史档案馆


【屑浮生的教程】如何让一个实体围绕玩家旋转?

用户:浮生awa浮生awa查看:10 回复:11 评论:10 创建时间:2022-01-28T18:48:51


——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

hello!这里是浮生的第一个教程,请大家多多关照()

今天的主题是:如何让一个实体围绕另一个实体旋转?

下面先讲两个知识点,

一、你得知道什么是

                                                                        world.querySelector   其实就是搜索一个满足条件的实体                                                      
world.querySelector('#出生点-1')
  比如这行代码,其实就是搜索名字为“出生点-1”的第一个实体。   二、 你还得知道     world. querySelectorAll   其实和刚刚的那个差不多, 但是 这个是搜索满足条件的所有实体,返回一个数组。     现在开始写代码!  
const e1 = world.querySelector('#旋转实体');
  搜索名字为“旋转实体”的实体, 然后赋值给e1 这样我们就获取到这个实体了  
world.onTick(async({tick})=>{
    const e2 = world.querySelectorAll('player')
})
  然后做一个onTick,意思是游戏的每一刻都执行 赋值所有玩家给e2
e2.forEach((e) =>{
    
})

 

接着写一个forEach,

意思是用e遍历数组,

对e2数组的每个玩家都执行里面的代码

        e1.position.y = e.position.y;
        e1.position.x = e.position.x + Math.cos(tick/5)*5
        e1.position.z = e.position.z + Math.sin(tick/5)*5

最后把这三行代码加上,

实现旋转的效果

下面会比较难,我讲解一下:

e1是旋转的实体

e是玩家,本来是e2,但是现在我们把它赋值到e了

position是坐标的意思

x=x坐标

y、z也是

第一行是把旋转实体的坐标改为玩家的坐标

也就是把旋转实体的y坐标瞬移到玩家的y坐标,

让他们处在同一高度

接着两行代码的意思

差不多就是在做一个圆

“tick”的意思是每一刻的计数,

每过一刻增加1

tick/5是圆的角度

这两段代码就是让玩家移到圆的tick/5的角度的点上

tick/的次数越多,旋转的速度越慢

具体的有点复杂,

可以参考迷失冷光的三角函数教程学习

链接:https://shequ.codemao.cn/community/411432

那么现在我们就写完了,

完整代码:

const e1 = world.querySelector('#旋转实体');
world.onTick(async({tick})=>{
    const e2 = world.querySelectorAll('player')
    e2.forEach((e) =>{
        e1.position.y = e.position.y;
        e1.position.x = e.position.x + Math.cos(tick/5)*5
        e1.position.z = e.position.z + Math.sin(tick/5)*5
    })
})

记得把第一行的模型名字改为你的实体的名字!

 

这期教程就到这里了!我们下期再见!


回复

上一页1 页 / 共 1下一页
浮生awa浮生awa

排版居然被吞了一部分!喵

点赞0


评论


浮生awa浮生awa

ddddddddddddddd

点赞0


评论


额额额

点赞0


评论


编码喵编码喵

呃呃呃

点赞0


评论


浮生awa浮生awa

顶上来

点赞0


评论


马云编程猫马云编程猫

收藏夹里见!

点赞1


评论


传奇无敌传奇无敌

这不冷光的吗(

点赞0


评论


小屑鹿小屑鹿

咕咕~

点赞0


评论


浮生awa浮生awa

黑历史。。。

点赞0


评论


灵清帝王吃爆一切厕所灵清帝王吃爆一切厕所

ddd

点赞0


评论


精神I病院广东省分院院长精神I病院广东省分院院长

那离被绕着的实体距离应该加到哪

点赞0


评论