Action
GRF 是由“sprite”,即“图像”组成的,图像当中包括“伪图像”(pseudosprite)与“真图像”(realsprite)。 “伪图像”就是一般意义上的 NFO/YAGL 代码, 而“真图像”就是一般意义上的图像。 以下简称伪图像为“代码”。
Action 是代码的基本单元, 若要使用 grf-py、YAGL 或 NFO 编写 NewGRF 则必须了解 Action。[1] NewGRF 可以包含 20 种 Action, (0x00—0x14) 每种 Action 都有不同的作用。
flowchart LR
subgraph 间接操纵
NML
end
NML -->|聚合|Action
Action -->|构成|NewGRF
subgraph 直接操纵
grf-py
NFO
yagl
M4NFO
GCC[GCC 宏] -->|聚合|NFO
GCC[GCC 宏] -->|聚合|yagl
end
grf-py -->|"聚合、呈现"|Action
yagl -->|呈现|Action
NFO -->|呈现|Action
M4NFO -->|聚合|NFO
style Action fill:#a4cdfc, Stroke:#1b4c91, stroke-width: 2px
为了讲解简便,本教程中 Action 代码演示统一使用 YAGL 语言。你也可以访问 https://newgrf-specs.tt-wiki.net/wiki/Main_Page 以查看 NFO 样例[2]。
重要
由于 YAGL 目前尚在开发中,尚有一些程序错误。建议定期更新 YAGL 以避免 GRF 出错。不过 YAGL 有严格的版本限制,因此在更新前请一定要做好代码备份。
重要
grf-py 目前尚在开发中,API 与特性随时可能变动。建议关注作者动态(https://github.com/citymania-org/grf-py)并定期更新。