无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
=== | === Mindustry的[https://developer.mozilla.org/zh-CN/docs/Web/javascript JS] === | ||
Mindustry使用: [https://github.com/Anuken/Rhino Rhino] | Mindustry使用: [https://github.com/Anuken/Rhino Rhino] | ||
类似于[https://nodejs.cn/ node.js],它没有''window'' | |||
Mindustry提供了一下全局变量:[https://github.com/Anuken/Mindustry/blob/d79a306970598ae8d7fa29102d1ce2aa0653e5ed/core/assets/scripts/global.js global.js] | Mindustry提供了一下全局变量:[https://github.com/Anuken/Mindustry/blob/d79a306970598ae8d7fa29102d1ce2aa0653e5ed/core/assets/scripts/global.js global.js] | ||
一些常用的变量 | |||
* scriptName: 当前脚本的名称(这会随脚本的变化而变化,建议: const { scriptName } = this;) | * scriptName: 当前脚本的名称(这会随脚本的变化而变化,建议: const { scriptName } = this;) | ||
* modName: 当前Mod的名称(这会随mod的变化而变化,建议: const { modName } = this;) | * modName: 当前Mod的名称(这会随mod的变化而变化,建议: const { modName } = this;) | ||
* print: 打印日志 | |||
* extend: '''js 'extend(Base, ..., {})' = java 'new Base(...) {}'''' | |||
=== 关于[https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 解构复制] === | === 关于[https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 解构复制] === | ||
cosnt { a, b } = { a: 1, b: 2 }; | '''cosnt''' { a, b } = { a: 1, b: 2 }; | ||
=== 特殊语法 === | === 特殊语法 === | ||
====== xxx/* functionName */ ( /* args */ ) { /* code */ } ====== | ====== '''new''' xxx''/* functionName */'' ( ''/* args */'' ) { ''/* code */'' } ====== | ||
其实就是xxx/* functionName */ ( /* args */ , { /* code */ } ) | 其实就是xxx''/* functionName */'' '''(''' ''/* args */'' , { ''/* code */'' } ''')''' | ||
在最后面传了一个对象 | 在最后面传了一个对象 | ||
所以你可以:'''new''' extend(Block, "a block") { | |||
setBars() { | |||
print(this.barMap) | |||
} | |||
} |
2024年2月17日 (六) 20:55的版本
Mindustry的JS
Mindustry使用: Rhino
类似于node.js,它没有window
Mindustry提供了一下全局变量:global.js
一些常用的变量
- scriptName: 当前脚本的名称(这会随脚本的变化而变化,建议: const { scriptName } = this;)
- modName: 当前Mod的名称(这会随mod的变化而变化,建议: const { modName } = this;)
- print: 打印日志
- extend: js 'extend(Base, ..., {})' = java 'new Base(...) {}'
关于解构复制
cosnt { a, b } = { a: 1, b: 2 };
特殊语法
new xxx/* functionName */ ( /* args */ ) { /* code */ }
其实就是xxx/* functionName */ ( /* args */ , { /* code */ } )
在最后面传了一个对象
所以你可以:new extend(Block, "a block") {
setBars() {
print(this.barMap)
}
}