猫史档案馆


【API系列教程】我的梦想是开个小卖部,只卖辣条和AD钙奶!(上篇)

用户:神岛吉吉喵神岛吉吉喵查看:18 回复:38 评论:18 创建时间:2020-12-13T13:58:25


center_image

谁还没有一个开小卖部的梦想呢?

有吃不完的零食饮料

center_image

今天,吉吉喵就帮你实现梦想!

本次API教程将分为上下两期

教大家如何从0建造起一个小卖部

并和npc进行互动、交易

首先是小卖部的建造过程,这里不涉及到代码

充分利用地形方块和模型就可以啦https://www.bilibili.com/video/BV13f4y1i7iW

center_image

先把小卖部的外形构造好

center_image

然后再用模型装饰细节

鼓励大家用喜欢的风格对小卖部进行自由改造哦~

小卖部建好后

如何查找实体

然后对实体设置参数呢?

将会用到这两个API:

world.querySeletorAll()(查询所有符合标准的实体)

world.searchBox()(一定范围内查询实体)

请戳视频↓↓↓

https://www.bilibili.com/video/BV1dK4y1577r

本教程所用到的代码:

1、查询满足条件的所有实体

API:world.querySeletorAll()

for (const e of world.querySelectorAll('*')) { // 查询语句 '*' 表示查找所有
    e.meshEmissive = 1 //高亮所有实体
}

小贴士:查找的模型名前要加#,如“#小学生”

查找的标签名钱要加“.”,如“.瓶盖”

固定格式要记住哦

2、查询多个不同的实体

// 用','隔开不同的查询语句来合并查询结果
for (const e of world.querySelectorAll('.瓶盖垃圾,.空瓶垃圾')) {
    e.meshEmissive = 1 //高亮所有实体
} 

小贴士:多重查找下,各个条件用逗号替代就行

3、用if语句进一步筛选

让只有没被打标签的实体高亮

for (const e of world.querySelectorAll('*')) {
    if(e.tags().length == 0){ //标签列表长度为0
        e.meshEmissive = 1 //高亮所有实体
    }
}

4、让某个具体的坐标范围内的物品高亮

for (const e of world.searchBox({lo:[63, 9, 92], hi:[76, 19, 103]})){
    e.meshEmissive = 1
}

本期的API教程就是这些啦

下期视频将教大家在查找实体后

如何与实体进行互动,敬请期待哦

emotion_编程猫_点赞

本节课互动作业:

请结合这节课所学的world.querySelectorAll()

和上节电梯课程中的entity.onVoxelContact()

实现让玩家碰到的实体都报出自己的名字

请把你的答案写在评论区〜

emotion_编程猫_加油

- 相关API文档:https://docs.box3.codemao.cn/

加入代码岛3.0官方内测Q喵

官网:box3.codemao.cn

(づ。◕‿‿◕。)づ


回复

上一页1 页 / 共 2下一页
AbnormalLOGAbnormalLOG

前排!

点赞0


评论


极限小白极限小白

哇!沙发!

点赞0


评论


风火年华4512风火年华4512

前排

点赞0


评论


风火年华4512风火年华4512

沙发

点赞0


评论


GZ006GZ006

前排

点赞0


评论


风火年华4512风火年华4512

吉吉喵我有个建议,可以把代码弄的更简单一点,像图形化一样,这样新手一看就懂,大佬也可以敲代码

点赞0


评论


不知道该叫啥的一只萌新不知道该叫啥的一只萌新

ddd

点赞0


评论


lRobinllRobinl

前排

点赞0


评论


ZNS_哪吒ZNS_哪吒

前排

点赞0


评论


AbnormalLOGAbnormalLOG

作业:

world.onEntityContact(({entity,other})=>{
    if (other.isPlayer && !entity.isPlayer) {
        entity.say(entity.id)
    }
})


点赞0


评论


SKQASKQA

前排前排!!!

点赞0


评论


踏星逐梦踏星逐梦

前排

点赞0


评论


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

前排

点赞0


评论


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

world.onEntityContact(({entity,other})=>{
    if (other.isPlayer && !entity.isPlayer) {
        entity.say('我叫:'+entity.id)
    }
})

点赞0


评论


小小爱html小小爱html

前排

点赞0


评论


MA辰MA辰

前排

点赞0


评论


正在加载中。。正在加载中。。

ohhhhhh前排!!

点赞0


评论


某个普通用户某个普通用户

前排

点赞0


评论


SSR级学霸_拉文克劳SSR级学霸_拉文克劳

那岂不是可以用个发光的瓶盖做萤火虫???

点赞0


评论


lon江航lon江航

emotion_编程猫_点赞

点赞0


评论


芜湖咸鱼芜湖咸鱼

粒子特效高亮不是更好看吗。。。

发光属性那个真的不太好看

点赞3


评论


望_庐山望_庐山

大家好,欢迎收看《js从入门到放弃》

点赞1


评论


学霸8号学霸8号

还记得我吗?上次发别墅被吉吉喵表扬的那个。我又来交小卖铺作业了(不好意思有点晚)center_imagecenter_image

点赞0


评论


我现在最期待的就是岛3的云变量教程了。。。

点赞1


评论


QBZ_QBZ_

AD钙真就童年回忆()现在我们学校小卖部还有卖的呢

点赞0


评论


未命名用户015734未命名用户015734

完了观澜也想发建筑教程了(啊不)

感谢某吉的代码教程()

点赞1


评论


IaeaIaea

666

点赞0


评论


蔡竣凯Jacky蔡竣凯Jacky

center_image

点赞3


评论


星匿丨蒙德第一深情丶星匿丨蒙德第一深情丶

点赞0


评论


Weeb_ETOWeeb_ETO

666

点赞0


评论