匿名
未登录
创建账号
登录
Mindustry中文wiki
搜索
查看“JS模组教程-传输方块”的源代码
来自Mindustry中文wiki
命名空间
页面
讨论
更多
更多
页面操作
阅读
查看源代码
历史
←
JS模组教程-传输方块
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于这些用户组的用户执行:
管理员
、editor
您可以查看和复制此页面的源代码。
=传输方块= 统称传送带、液体导管、电力节点、热传输机。<br/> '''''本文档面向JavaScript模组编辑'''''<br/> '''''本文档代码高度抽象化!!!! '''''<br/> ==预先约定== <strong>JavaScript相较于Json的优势之一,在于可以自己规定数据表示形式。</strong><br/> 于是本文档使用如下约定:<br/> <pre>function 新建(类名称,注册名称,中文名称,数据对象){ var type = 你自己定义的类名称搜索函数(类名称); var setObj = 你自己定义的数据对象处理函数(类名称,数据对象); var obj = extend(type, 注册名称, setObj); 你自己定义的后处理函数(obj); exports[nameStr] = obj;//导出内容 return obj; }</pre> 对于数据对象,一些基本的<code>obj</code>与<code>数据对象</code>的对照表如下: {| class="wikitable" |+ 表格标题 ! obj键名 !! 数据对象键名 !! 数据类型 !! 备注 |- | health || 生命值 || 数字 || |- | size || 大小 || 数字 || 尺寸为size*size |- | requirements || 建造材料 || 对象键值对 || 特殊,见下方 |} 对于<code>requirements</code>建议使用如下方案: <pre> var requirementsObj = 数据对象.建造材料; var ra = []; for (var k in requirementsObj) { ra[ra.length++] = 库.组.物品[k]; ra[ra.length++] = requirementsObj[k]; } obj.requirements = ItemStack.with.apply(null, ra); </pre> 其中: <pre> 库.组.物品 = { //赛普罗 废料: Items.scrap, 铜: Items.copper, 铅: Items.lead, 石墨: Items.graphite, 煤: Items.coal, 钛: Items.titanium, 钍: Items.thorium, 硅: Items.silicon, 塑钢: Items.plastanium, 相位物: Items.phaseFabric, 合金: Items.surgeAlloy, 孢子: Items.sporePod, 沙: Items.sand, 爆炸物: Items.blastCompound, 燃烧物: Items.pyratite, 玻璃: Items.metaglass, //埃里克尔 铍: Items.beryllium, 钨: Items.tungsten, 氧化物: Items.oxide, 碳化物: Items.carbide, //未出现 裂变物质: Items.fissileMatter, 休眠囊肿: Items.dormantCyst } </pre> ==传送带== 传送带就是传送物品的方块。 为正确显示在方块栏中,需要设置: <code>obj.category = Category['distribution'];</code> ===简单传送带=== ''即对于<code>你自己定义的类名称搜索函数('基本传送带')==Conveyor</code>而言。<br/>'' ''游戏原版内容如:<span class="mdtPixelIcon">[[File:Block-conveyor-ui.png|18px|link=传送带]]</span> [[传送带|传送带]]<br/>'' <br/> 最简单的传送带需要具备一些必要的属性,如以下示例: <pre>新建('基本传送带','HighQualityConveyor','优质传送带',{ 生命值:55, 大小:1, 建造材料:{ 铜:1, 铅:1 }, 速度:6 }); </pre> 对于数据对象,<code>obj</code>与<code>数据对象</code>的对照表如下: {| class="wikitable" |+ 表格标题 ! obj键名 !! 数据对象键名 !! 数据类型 !! 备注 |- | displayedSpeed || 速度 || 数字 || 你还需要<code>obj.speed = obj.displayedSpeed / 120</code> |} 额外的,需要在<code>sprites/</code>添加以下图片纹理,如对于<code>HighQualityConveyor</code>:<br/> *HighQualityConveyor-0-0.png *HighQualityConveyor-0-1.png *HighQualityConveyor-0-2.png *HighQualityConveyor-0-3.png *HighQualityConveyor-1-0.png *HighQualityConveyor-1-1.png *HighQualityConveyor-1-2.png *HighQualityConveyor-1-3.png *HighQualityConveyor-2-0.png *HighQualityConveyor-2-1.png *HighQualityConveyor-2-2.png *HighQualityConveyor-2-3.png *HighQualityConveyor-3-0.png *HighQualityConveyor-3-1.png *HighQualityConveyor-3-2.png *HighQualityConveyor-3-3.png *HighQualityConveyor-4-0.png *HighQualityConveyor-4-1.png *HighQualityConveyor-4-2.png *HighQualityConveyor-4-3.png ===装甲传送带=== ''即对于<code>你自己定义的类名称搜索函数('装甲传送带')==ArmoredConveyor</code>而言。<br/>'' ''游戏原版内容如:<span class="mdtPixelIcon">[[File:Block-armored-conveyor-ui.png|18px|link=装甲传送带]]</span> [[装甲传送带|装甲传送带]]<br/>'' <br/> 装甲传送带是简单传送带的升级,需要具备与之相同的属性,如以下示例: <pre>新建('装甲传送带','ReinforcedConvey','强化传送带',{ 生命值:100, 大小:1, 建造材料:{ 铜:1, 铅:1, 石墨:1 }, 速度:6 }); </pre> 同样的,需要在<code>sprites/</code>添加图片纹理,与普通传送带相同。 ===装包传送带=== ''即对于<code>你自己定义的类名称搜索函数('基本传送带')==Conveyor</code>而言。<br/>'' ''游戏原版内容如:<span class="mdtPixelIcon">[[File:Block-plastanium-conveyor-ui.png|18px|link=塑钢传送带]]</span> [[塑钢传送带|塑钢传送带]]<br/>'' <br/> 装包传送带需要具备一些必要的属性,如以下示例: <pre>新建('装包传送带','SlideRailConveyor','滑轨传送带',{ 生命值:35, 大小:1, 建造材料:{ 石墨:1, 硅:1, }, 速度:10, 物品容量:1, 路由器外部输出:false }); </pre> 对于数据对象,<code>obj</code>与<code>数据对象</code>的对照表如下: {| class="wikitable" |+ 表格标题 ! obj键名 !! 数据对象键名 !! 数据类型 !! 备注 |- | outputRouter || 路由器外部输出 || true或false || 效果未知,与路由器和合金路由器配合均无效 |- | itemCapacity || 物品容量 || 数字 || |- | speed || 速度 || 数字 || 实际上需要<code>obj.speed = (setObj.速度 || 15) / obj.itemCapacity / 60;</code> |} 额外的,需要在<code>sprites/</code>添加以下图片纹理,如对于<code>SlideRailConveyor</code>:<br/> *SlideRailConveyor-0.png 中间底部 *SlideRailConveyor-1.png 入口底部 *SlideRailConveyor-2.png 出口底部 *SlideRailConveyor-edge.png 边线 *SlideRailConveyor-stack.png 小车 ===物品管道=== ==液体导管== ==电力节点== ==热传输机==
返回
JS模组教程-传输方块
。
导航
导航
塞普罗
-- 战役区块
-- 物品
-- 流体
-- 建筑
-- 单位
埃里克尔
-- 战役区块
-- 物品
-- 流体
-- 建筑
-- 单位
隐藏
-- 物品
-- 液体
-- 建筑
-- 地块介绍
其他
-- 状态效果
-- 天气
-- 星球
教程中心
编辑者
-- 编辑指导
-- 语法指南
-- 表格语法
最近更改
随机页面
MediaWiki帮助
wiki工具
wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志