猫史档案馆


【之音学编程】之实用教程:实体旋转

用户:梦里觅深海梦里觅深海查看:41 回复:40 评论:41 创建时间:2020-05-21T17:47:03


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

咳咳,自从墨水用我的代码发了他的墨教以后,我觉定,也写一些教程

这次真的是拿出看家本领了,来个炫酷滴:实体旋转!!!!!

顺便说一下,墨水的教程里的蓝之音就是我啦,我改名了

先康康8:

world.querySelectorAll('*').forEach((pl)=>{//遍历所有实体,并取名pl
    if (pl.isPlayer && pl.player.name==="MC_蓝之音"){//如果pl是玩家并且pl的玩家的名字是MC_蓝之音(这是我的曾用名)(这里的玩家代表需要围绕着旋转的实体)
        world.querySelectorAll('.旋转的实体').forEach((e)=>{//那么,就遍历带有旋转的实体标签的实体,并取名e
            var angle=0;//定义变量angle(角度的意思),设置为0,初始时为0°,更不更改没啥关系
            var radius=4;//设置围绕玩家旋转的半径就是圆半径,设置为4,可以更改
            world.onTick(()=>{//你懂的(不,我不懂)(不,你懂,是装的)   ...  好吧,其实就是每时刻就执行一遍。
                angle+=0.3;//每次执行时就让角度加上0.3,可以更改,越大速度越快
                var x = Math.sin(angle)*radius;//重点来啦,这里很难——这一行,定义变量x为旋转角度的对边值乘上圆半径4
                var z = Math.cos(angle)*radius;//定义变量z为角度的对边的非斜边邻边比斜边的值乘圆半径4
                e.position.x=pl.position.x+x;//实体x轴移动等于玩家x轴加变量x
                e.position.z=pl.position.z+z;//实体的z轴移动等于玩家z轴加变量z
                e.position.y=pl.position.y;//实体的y轴移动就是玩家的轴移动
            })//全知框架
        })//还有我哦
    }//看到Math.sin和Math.cos的时候就已经疯了
})//带上我吧
//最后说一句,sin和cos不懂没关系,毕竟是看家本领...

这里的知识点很多,不一一讲解,懂就懂,不懂也没关系,毕竟这是一个格式,套进去就行了。

最后,如果你想要让一个实体围绕着另一个非玩家的实体,也很简单,相信很多童鞋都会的,就是将isPlayer去掉并且把pl.player.name改成pl.id即可啦。

如果是自己旋转的话,那就将pl.position改成一个需要围绕的中心坐标即可

嘿嘿,学会了吗?

最后,向墨水学习:

 

残孤之音 技术

残孤之音 图文

残孤之音 bug

 

咳咳,以下跟本教程无关:

测试一下,你们别在意


回复

上一页1 页 / 共 2下一页
梦里觅深海梦里觅深海

我记得之前似乎墨水跟我说尹子(好像是他)写了一个旋转代码,八边形旋转,就会有一个问题,就是在画一个很大的圆时,就能看出不是一个正圆了。而且代码较长

点赞0


评论


梦里觅深海梦里觅深海

顶顶

点赞0


评论


高贵的木叶龙A35d高贵的木叶龙A35d

收藏

点赞0


评论


韵律源点Arcaea韵律源点Arcaea

nb

点赞0


评论


凌_墨水凌_墨水

顶顶

点赞0


评论


datacatdatacat

额,API里有诶

点赞0


评论


datacatdatacat

直接用

meshOrientation不行吗

点赞0


评论


梦里觅深海梦里觅深海

再顶一下

点赞0


评论


凌_墨水凌_墨水

啊啊啊,为什么非要绕一个东西旋转啊

点赞0


评论


梦里觅深海梦里觅深海

顶顶

点赞0


评论


神兽喵神兽喵

喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

哼哼……

这个旋转好像不均匀?

点赞0


评论


流浪月球流浪月球

https://box3create.codemao.cn/games/d7b8a7e3a78b4b88b7bb

帮帮忙

点赞0


评论


wrmdcxywrmdcxy

顶顶顶顶顶

点赞1


评论


查理九世1查理九世1

nb

点赞0


评论


梦里觅深海梦里觅深海

我再顶

点赞0


评论


梦里觅深海梦里觅深海

我顶顶顶顶顶顶顶顶顶

点赞0


评论


datacatdatacat

总体来说自传比公转好

点赞0


评论


可靠的蓝甲虫sDuG可靠的蓝甲虫sDuG

world.querySelectorAll('*').forEach((pl)=>{
    if (pl.isPlayer && pl.player.name==="可靠的蓝甲虫sDuG"){
        world.querySelectorAll('.旋转的实体').forEach((e)=>{
            var angle=0;
            var radius=4;
            world.onTick(()=>{
                angle+=0.3;
                var x = Math.sin(angle)*radius;
                var z = Math.cos(angle)*radius;
                e.position.x=pl.position.x+x;
                e.position.z=pl.position.z+z;
                e.position.y=pl.position.y;
            })
        })
    }
})

是这样吗?

点赞0


评论


TLOCKTLOCK

顶顶顶顶顶

点赞1


评论


梦里觅深海梦里觅深海

d'd

点赞0


评论


梦里觅深海梦里觅深海

d'd

点赞0


评论


面具狐狸云绾兮面具狐狸云绾兮

搞一个几个实体联动代码呗()

点赞1


评论


无尽深空无尽深空

这到底是玩家绕着实体赚钱还是实体让着玩家?

点赞0


评论


无尽深空无尽深空

复制了看看可怎么改,也没有看到实体绕着我旋转或者我绕着实体转

点赞0


评论


KaNSFKaNSF

nb

点赞0


评论


JYF_斗罗JYF_斗罗

挖~

点赞0


评论


神炎暗月神炎暗月

可以教教我怎么公转吗,只上下旋转,不影响别的,最好可以自定义度数imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E4%BC%A4%E5%BF%83.gif"alt="emotion_编程猫_伤心"

点赞0


评论


umbrallawwumbrallaww

谁挖的啊)

点赞0


评论


MrAssMrAss

挖坟

点赞0


评论