This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
api:robot:zh [2023/11/27 04:55] hfsr [API 特有方法] |
api:robot:zh [2023/11/30 08:27] hfsr [悬停] |
||
---|---|---|---|
Line 3: | Line 3: | ||
此API封装了[[component:robot:zh|机器人]]**组件**的功能,允许与机器人实现更直观的互动。 | 此API封装了[[component:robot:zh|机器人]]**组件**的功能,允许与机器人实现更直观的互动。 | ||
- | 使用如下方式在你的 Lua 代码中调用这个 API: | + | 若你在Lua代码中这样写,那么你调用的就是此API: |
```lua | ```lua | ||
Line 10: | Line 10: | ||
``` | ``` | ||
- | 不推荐直接访问机器人组件API,虽然可以通过组件接口这么做: | + | 与之相对的是通过组件接口,直接使用机器人组件API: |
```lua | ```lua | ||
local component = require("component") | local component = require("component") | ||
- | local robot_component_api = component.robot -- 如果你使用 OpenOS 可以这么写,否则要写 component.proxy(component.list("robot")()) | + | local robot_component_api = component.robot -- 如果你使用OpenOS那么可以这么写,否则要写 component.proxy(component.list("robot")()) |
robot_component_api.move(sides.front) | robot_component_api.move(sides.front) | ||
``` | ``` | ||
- | 尽管机器人组件提供了更通用的功能,比如说 `move([side: number])` 或者 `drop([side: number])`,但这个API能提供更直观、更安全的功能,比如说 `turnRight`, `dropDown`, `forward`。使用哪一种由你自己决定,甚至可以混用二者。 | + | 虽然机器人组件提供了更通用的功能,比如`move([side: number])`和`drop([side: number])`,但是此API提供了更直观、更安全的函数,比如`turnRight`、`dropDown`、`forward`。使用哪一种由你自己决定,甚至可以混用二者。 |
- | 请注意机器人本身就是一台开放式电脑,和其它电脑一样,只是多了一个机器人组件,所以一般的[API](api:zh)仍然可用。 | + | 请注意机器人本身就是一台OC模组的电脑,和其它电脑一样,只是多了一个机器人组件,所以一般的[API](api:zh)仍然可用。 |
查看[方块:机器人](:block:robot:zh)以获取更多有关机器人本身的信息。 | 查看[方块:机器人](:block:robot:zh)以获取更多有关机器人本身的信息。 | ||
Line 28: | Line 28: | ||
## 移动 | ## 移动 | ||
- | 机器人能够灵活移动,但你应该了解一点细节。 | + | 机器人能够灵活移动,但你可能会想了解一些细节。 |
### 悬停 | ### 悬停 | ||
Line 34: | Line 34: | ||
机器人有飞行高度限制。机器人移动的基本规则是这样的: | 机器人有飞行高度限制。机器人移动的基本规则是这样的: | ||
- | - 1. 机器人只有在起点和目标点均可用时才会移动(例如用于建桥)。 | + | - 1. 机器人只有在起点或目标点为可用(下图绿色区域)时才会移动(此特性可用于建桥等)。 |
- | - 2. 机器人下方一定可用(一定可以向下移动)。 | + | - 2. 机器人下方位置一定为可用(一定可以向下移动)。 |
- | - 3. 固体方块上至多`flightHeight`格是可用的(飞行能力有限,默认为8) | + | - 3. 固体方块(图中棕色区域)上方的`flightHeight`格为可用区域(飞行能力有限,默认为8)。 |
- | - 4. 任何紧贴着实心面的位置都是可用的(机器人可以“爬墙”)。 | + | - 4. 紧贴实心面的位置均为可用区域(机器人可以“爬墙”)。 |
此处为一张可视化展示上述规则的图片(忽略了第二条规则,这会使图片变得混乱) | 此处为一张可视化展示上述规则的图片(忽略了第二条规则,这会使图片变得混乱) | ||
Line 216: | Line 216: | ||
\\ | \\ | ||
- <del>` robot.level(): number `</del> | - <del>` robot.level(): number `</del> | ||
- | **自 OC 1.3 起已弃用。**请使用`component.experience.level()`代替(只能在安装了[[item:experience_update:zh|经验升级]]的前提下可用)。 | + | **自 OC 1.3 起已弃用。**请使用`component.experience.level()`代替(只能在安装了[[item:experience_upgrade:zh|经验升级]]的前提下可用)。 |
返回机器人的当前等级,其小数部分为到达下一等级的百分比进度。例如,若此函数返回了`1.5`,代表机器人为1级,且已经完成了升到2级所需进度的50%。 | 返回机器人的当前等级,其小数部分为到达下一等级的百分比进度。例如,若此函数返回了`1.5`,代表机器人为1级,且已经完成了升到2级所需进度的50%。 | ||
\\ | \\ |