JS 单片机
概述
可以运行 Javascript(简称 JS)脚本的单片机,理论上可实现一切功能
使用前,需要先编辑它来指定哪些端口为输入,哪些端口为输出,之后每当输入电压发生变化时,都会运行一遍保存在其中的 JS 脚本,如运行错误会在游戏日志中报错
每一个 JS 单片机的运行环境都是独立的,而一个 JS 单片机中创建的变量、方法会一直保留(但不会保存进存档),强烈建议在初始化相关代码前判断是否需要初始化,否则容易触发重复声明的错误
内置变量
内置变量 | 说明 |
---|---|
P0 | 后端口的电压。当后端口是输入时,可通过此变量来读取后端口的电压,赋值无效;当后端口是输出时,可通过给该变量赋值来输出指定电压 |
P1 | 上端口的电压,其余同上 |
P2 | 右端口的电压,其余同上 |
P3 | 下端口的电压,其余同上 |
P4 | 左端口的电压,其余同上 |
System | .Net 的 System 命名空间 |
Game | 游戏的 Game 命名空间 |
Engine | 游戏的 Engine 命名空间 |
GameEntitySystem | 游戏的 GameEntitySystem 命名空间 |
Project | 当前游戏存档的Project对象 |
内置方法
内置方法 | 说明 |
---|---|
getPosition() | 返回该JS单片机所在位置,返回类型为Engine.Point3 ,内有X Y Z 三个字段来表示坐标 |
getPortState(number) | 返回指定端口的输入输出状态,参数需要输入0到4的整数,如果是输入则返回字符串input ,输出output ,禁用disabled ,参数错误则返回error |
setPortDisabled(number) | 设置指定端口为禁用,参数需要是0到4的整数 |
setPortInput(number) | 设置指定端口为输入,参数需要是0到4的整数 |
setPortOutput(number) | 设置指定端口为输出,参数需要是0到4的整数 |
importNamespace(string) | 导入并返回命名空间 |
findSubsystem(string) | 根据名称返回当前游戏存档的Subsystem,参数开头不要带Subsystem |
executeAgain(number) | 让该JS单片机在电路运行n个循环后无视输入是否变化,再次自发执行脚本;如果在一次执行中多次使用该方法,以最后设置的n为准;n小于等于0则取消;如果自发执行脚本前因输入变化而执行,此方法取消 |
请务必先设置输入端口,否则脚本完全不会运行