# 05 搜索全部实体


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

(点击->高清B站视频) (opens new window)


第二部分:利用API查找实体

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

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


(点击->高清B站视频) (opens new window)


本节所涉及的代码如下:

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
}