猫史档案馆


【代码岛3.0科普贴】如何用代码将所有实体实体化?

用户:hecoshecos查看:4 回复:8 评论:4 创建时间:2020-04-29T15:14:24


有的人可能觉得手动实体化实体太累了,特别是在实体很多的情况下

下面,我就教大家如何将实体实体化的代码

代码如下:

world.querySelectorAll('*').forEach((e)=>{
    e.collides=true;
    e.fixed=true;
})

这样,还会有一个问题

玩家也算实体

解决这个问题的代码如下:

world.querySelectorAll('*').forEach((e)=>{
    if(e.isPlayer){
        return;
    }
    e.collides=true;
    e.fixed=true;
})

还没完

有的实体(比如说门)是不需要实体化的,也有的实体(比如说球)是不需要固定住的

解决问题的代码如下

world.querySelectorAll('*').forEach((e)=>{
    if(e.isPlayer){
        return;
    }
    if(e.hasTag('door')===false){
        e.collides=true;
    } else{
        e.collides=false;
    }
    if(e.hasTag('ball')===false){
        e.fixed=true;
    } else{
        e.fixed=false;
    }
})

这次分享就到这里啦

bye~


回复

上一页1 页 / 共 1下一页
Moira屑玖iMoira屑玖i

沙发+顶顶

点赞0


评论


QBZ_QBZ_

简单...

点赞0


评论


DASKDASK

不会很麻烦吧。。。

点赞0


评论


硫酸QwQ硫酸QwQ

dd~

点赞0


评论


神岛吉吉喵神岛吉吉喵

有用的分享,给你手动点赞

点赞1


评论


嗯哼君 渠源嗯哼君 渠源

个人偏向于直接用if筛选,就是把第二个改为如下:

world.querySelectorAll('*').forEach((e)=>{
    if(! e.isPlayer){
        e.collides=true;
        e.fixed=true;
    }
})

PS:我的《贪吃蛇作战》审核通过后,我也会将源代码全部共享(最好能做个教程?),一起为box3的教程领域开辟道路鸭emotion_doge

点赞1


评论


Ken李Ken李

哇哇

点赞0


评论


十个人一条命十个人一条命

emotion_编程猫_点赞dd

点赞0


评论