mirror of
https://github.com/motajs/template.git
synced 2026-11-02 23:14:34 +08:00
docs(10-11): 按 D-48 重做实操(概念+基础接口)
- 概念/基础接口 12 篇的实操部分改为六步照抄式(目标/改哪里/复制什么/改什么/怎么验证/注意) - 片段一律去掉 import,统一附复制说明并指向 code-basics 的复制约定 - code-basics 删除 dev.md 的 import 置顶约定句,新增「照抄教程里的代码时,怎么处理 import」小节 - 仅改 docs/intermediate/*.md 与本篇审阅记录
This commit is contained in:
1 parent
687e248ac1
commit
cfa602f25c
11 files changed
+215
-15
No files matched your search
@@ -58,6 +58,12 @@ const active = state.maps.getActiveMap('floor-1');
|
||||
|
||||
`layerList` 是一个集合(`Set<IMapLayer>`),本身没有「按名字直接取」的方法,所以从 `layerList` 里筛出想要的那一个即可:按 **`alias`** 找(最常用),或按 **`zIndex`** 找。
|
||||
|
||||
**目标**:从某个楼层里取出指定图层(例如名为 `ground` 的图层)。
|
||||
|
||||
**改哪里**:任何需要操作图层的地方——例如某个事件函数或钩子里。
|
||||
|
||||
**复制什么**:
|
||||
|
||||
```ts
|
||||
const map = state.maps.getMap('floor-1')!;
|
||||
|
||||
@@ -68,14 +74,20 @@ const ground = [...map.layerList].find(layer => layer.alias === 'ground');
|
||||
const second = [...map.layerList].find(layer => layer.zIndex === 2);
|
||||
```
|
||||
|
||||
> 复制说明:片段已省略 `import`(这里用到的都是 `state` 上的成员);若编辑器提示缺少某个名字,再在顶部补对应的 `import`(详见 [代码基础](./code-basics.md) 的「照抄教程里的代码时,怎么处理 import」)。
|
||||
|
||||
**改什么**:把 `'floor-1'` 换成你的楼层 id;把 `'ground'` / `2` 换成你要找的别名或纵深;只保留你要用的那种找法。
|
||||
|
||||
**怎么验证**:取到的图层若非 `undefined`,再读它的 `alias` 应与你要找的一致;找不到时为 `undefined`。
|
||||
|
||||
**注意**:别把 `addLayer(alias)` 当成「取图层」——它是**新建**一个图层并返回,用同一个别名调用会再建一个。取已有图层请按上面的方式从 `layerList` 里找。
|
||||
|
||||
事件层是个例外:它可以直接从楼层的 `eventLayer` 取得,不必去筛 `layerList`。
|
||||
|
||||
```ts
|
||||
const eventLayer = map.eventLayer; // IMapLayer | null
|
||||
```
|
||||
|
||||
注意别把 `addLayer(alias)` 当成「取图层」——它是**新建**一个图层并返回,用同一个别名调用会再建一个。取已有图层请按上面的方式从 `layerList` 里找。
|
||||
|
||||
图块的读写见[地图图块](./map-tiles.md)。
|
||||
|
||||
> 地图的通行性判定、图块移动与踩踏触发等更底层的内容,会在**高级教程**中讲解(预留标记:`高级教程 · 地图通行与踩踏`);待高级教程就位后,此处会替换为链接。
|
||||
|
||||
Reference in new issue
Block a user