切换搜索
搜索
切换菜单
通知
切换个人菜单
查看“JavaScript Mod”的源代码
来自像素工厂维基百科-mindustry wiki
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
JavaScript Mod
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=== Mindustry的[https://developer.mozilla.org/zh-CN/docs/Web/javascript JS] === Mindustry使用: [https://github.com/Anuken/Rhino Rhino] 类似于[https://nodejs.cn/ node.js],它没有''window,document''等一系列变量 [[https://www.runoob.com/js/js-tutorial.html 菜鸟教程]] | [[https://developer.mozilla.org/zh-CN/docs/Web/javascript MDN]] Mindustry提供了一下全局变量:[https://github.com/Anuken/Mindustry/blob/d79a306970598ae8d7fa29102d1ce2aa0653e5ed/core/assets/scripts/global.js global.js] 一些常用的变量 * scriptName: 当前脚本的名称(这会随脚本的变化而变化,建议: '''const''' { scriptName } = 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 解构复制] === '''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) } } ===== Getter & Setter ===== 你可以使用'''xxx.class'''等价于'''xxx.getClass()''' * 注意:'''Vars.class'''获取到的是'''Class'''类,如果想要获取对应类对象 可以使用'''Vars.__javaObject__''' === 一些小坑 === 一个函数接受所有方法,例如: * extend(BulletType, { '''hit(b, x, y) {''' '''print(b)}}''' '''BulletType#hit(Bullet b)'''和'''BulletType#hit(Bullet b, float x, float y)'''都会调用上面的hit方法, 所以x,y可能为undefined
返回
JavaScript Mod
。