饥荒联机版Mod开发——衣服(十一)

  • 前言
  • 总览与下载
  • modmain
  • prefab
  • 动画

前言

饥荒里面装备栏有三个地方,手,身体,头。上一期我们讲了戴头上的帽子,这期我们讲讲穿在身上的衣服。事实上,衣服的代码比帽子的简单点,不过需要的贴图会多点。

总览与下载


源文件已添加到mods/~myclothes.zip中
饥荒联机版开发
https://pan.baidu.com/s/1_-TPRdo86z8PNwK084N_3A?pwd=oc74

modmain

modmain,modinfo这些和往常的一样即可,没什么需要特别注意的地方。

GLOBAL.setmetatable(env,{__index=function(t,k) return GLOBAL.rawget(GLOBAL,k) end}) PrefabFiles = {"myclothes"
}STRINGS.NAMES.MYCLOTHES = "我的衣服"
STRINGS.CHARACTERS.GENERIC.DESCRIBE.MYCLOTHES = "虽然是木甲的图"

prefab

核心代码如下,其中 equippable 组件是可装备物品的核心,在设置的装备/卸载回调函数中替换玩家的贴图。其他组件自由组装即可。其中注释掉那些是可选的

local assets =
{Asset("ANIM", "anim/myclothes.zip"),    --动画Asset("IMAGE", "images/inventoryimages/myclothes.tex"), --物品栏贴图Asset("ATLAS", "images/inventoryimages/myclothes.xml"),
}local function onequip(inst, owner)owner.AnimState:OverrideSymbol("swap_body", "myclothes", "swap_body")
endlocal function onunequip(inst, owner)owner.AnimState:ClearOverrideSymbol("swap_body")
endlocal function fn()local inst = CreateEntity()inst.entity:AddTransform()inst.entity:AddAnimState()inst.entity:AddNetwork()--物品栏类型的物理碰撞MakeInventoryPhysics(inst)--动画inst.AnimState:SetBank("myclothes")inst.AnimState:SetBuild("myclothes")inst.AnimState:PlayAnimation("anim")--可漂浮MakeInventoryFloatable(inst)inst.entity:SetPristine()if not TheWorld.ismastersim thenreturn instend--可检查inst:AddComponent("inspectable")--物品栏显示inst:AddComponent("inventoryitem")inst.components.inventoryitem.imagename = "myclothes"inst.components.inventoryitem.atlasname = "images/inventoryimages/myclothes.xml"--[[燃料inst:AddComponent("fuel")inst.components.fuel.fuelvalue = TUNING.LARGE_FUEL--]]--[[自然,火传递MakeSmallBurnable(inst, TUNING.SMALL_BURNTIME)MakeSmallPropagator(inst)--]]--[[护甲inst:AddComponent("armor")inst.components.armor:InitCondition(TUNING.ARMORWOOD, TUNING.ARMORWOOD_ABSORPTION)  --:InitCondition(amount, absorb_percent)--]]--可装备inst:AddComponent("equippable")inst.components.equippable.equipslot = EQUIPSLOTS.BODY--[[inst.components.equippable.dapperness = TUNING.DAPPERNESS_SMALL     --装备回san值inst.components.equippable.walkspeedmult = 2    --装备后移速倍率--]]inst.components.equippable:SetOnEquip(onequip)inst.components.equippable:SetOnUnequip(onunequip)--可作祟--MakeHauntableLaunch(inst)return inst
endreturn Prefab("myclothes", fn, assets)

动画

衣服的动画其实也很简单,因为用的是替换贴图,所以我们只需要准备对应的图片,以及一个扔地上的动画即可。

先来看下木甲的图是什么样的,其中左边是木甲的图,右边是温蒂身体部分的图。
前三张对应正面,之后三张是侧面,再之后三张是后面的。
剩下两张分别是编号11和编号13的,编号11的不知道哪里用到,编号13的是作为地面上的图片使用的,他们的编号都在10以上,也就是替换贴图的时候不影响具体的显示。

再来看看scml,老样子先设置下锚点,编号1-10的锚点位置的设置会影响穿在身上的效果,可以多调几次,然后进游戏看看效果。

最后一张编号13的作为地面上的贴图,动画就一个,把图片拖进来,然后改下右下角的名字即可(对应代码里的)

饥荒联机版Mod开发——衣服(十一)相关推荐

  1. 饥荒联机版Mod开发——两种帽子(十)

    饥荒联机版Mod开发--两种帽子(十) 前言 总览与下载 动画 代码 modmain 露头类帽子 基本的预设物框架 穿戴 可交易 腐烂及可放冰箱 总的代码 不露头类帽子 差异 基本代码 耐久 其他功能 ...

  2. 饥荒联机版Mod开发——配置代码环境(二)

    饥荒联机版Mod开发--配置代码环境(二) 前言 下载VS Code和Lua插件 建立工作区 配置Lua插件 Git和GitHub(可选) 排除多余文件 删除scripts里多余文件 VS Code快 ...

  3. 饥荒联机版Mod开发——准备工具(一)

    饥荒联机版Mod开发--准备工具 前言 工具下载 工具功能和使用 动画 c_start:反解压动画 Sprite:制作动画 打包工具:把动画再打包回去 贴图 TEXTool:查找/反解压tex tex ...

  4. 饥荒联机版Mod开发——modmain(五)

    饥荒联机版Mod开发--modmain(五) 前言 modmain环境 常用方法 设置环境具体流程 mods.lua modutil.lua 传送门 前言 在modmain中我们可以通过 Prefab ...

  5. 饥荒联机版Mod开发——Class, Prefab, component,debug(四)

    饥荒联机版Mod开发--class, prefab, component,debug(四) Class的使用方法 Prefab component Entity Component Normal Co ...

  6. 饥荒联机版Mod开发——常用inst方法(八)

    饥荒联机版Mod开发--常用inst方法(八) 前言 生成实体 监听/推送事件 使用标签 增删组件 网络组件 定时/阶段任务 回调函数 父子实体 平台 删除 位置,角度 显示/隐藏 判断 大脑 状态图 ...

  7. 饥荒联机版Mod开发——制作烹饪锅食物(六)

    饥荒联机版Mod开发--制作烹饪锅食物(六) 前言 准备工作 编写菜谱 制作预设物 添加菜谱 传送门 前言 核心组件及其流程如下: 材料 -> 烹饪锅(stewer) -> 食物(吃edi ...

  8. 饥荒联机版Mod开发——制作可入锅,烹饪,凉干的食物(七)

    饥荒联机版Mod开发--制作可入锅,烹饪,凉干的食物(七) 可入锅 可烹饪 可凉干 传送门 可入锅 参考:cooking.lua 先来看一下官方代码 --names:{"prefab1&qu ...

  9. 饥荒联机版服务器mod模组在哪个文件夹,饥荒联机版MOD使用图文教程_饥荒联机版MOD怎么用_牛游戏网...

    饥荒联机版相信大家都玩得不亦乐乎,在饥荒中使用MOD也是一大乐趣,不少萌新可能还不知道饥荒联机版怎么使用MOD,饥荒联机版MOD要怎么安装使用呢,下面小编就为大家带来了饥荒联机版MOD使用图文教程,给 ...

最新文章

  1. 构建安全的 ASP.NET 网页和控件
  2. 会议室管理前端页面_福州会议室钟联系方式
  3. spring源码分析之spring-core总结篇
  4. tf.truncated_normal的用法
  5. matlab 柴油机仿真,用MATLAB/SIMULINK实现柴油机及其控制系统的动态仿真
  6. python 基因序列提取_科学网—简单的Python脚本提取对应位置基因序列(fasta文件) - 王彬忠的博文...
  7. 苹果小圆点怎么弄出来_原来苹果手机轻点2下屏幕就能截图,以前还不知道,太方便了...
  8. 交通运输业面临视频监控存储挑战
  9. 【渝粤教育】国家开放大学2018年春季 0064-21T20世纪欧美文学 参考试题
  10. linux 中特殊权限,Linux SetGID(SGID)文件特殊权限用法详解
  11. 课题申报书范文_2018年课题立项申报书范文
  12. 计算机上的英语键代表什么,键盘上的英文键代表什么意思
  13. Oracle LiveLabs实验:Application Continuity Fundamentals
  14. perf常用用法简介
  15. ppt中只有声音没有图像处理
  16. 直播弹幕系统(五)- 整合Stomp替换原生WebSocket方案探究
  17. 腾讯+字节+阿里面经真题汇总,总结到位
  18. 实习日记——Day2
  19. 关于pip安装virtualenv虚拟环境出现的Permission denied问题及虚拟环境安装步骤
  20. 一天一问01:DMZ区什么意思?

热门文章

  1. 腾讯云-视频直播(android集成)
  2. linux驱动开发简单示例
  3. LoadRunner--并发测试(多用户)
  4. 计算机专业去,计算机专业去哪个学校_西信院
  5. Linux内核写ddr物理地址,DM6437-读写DDR测试过程
  6. 阿里旺旺自动回复工具开发二
  7. JS查询日出日落时间和太阳月亮位置
  8. 深入理解金融交易报文Iso8583协议
  9. 利用光盘安装linux系统
  10. 28.查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况)