饥荒mod制作教程--物品(食物)该篇主讲贴图--01

主要工具

mod tools(steam工具库可找到,用来上传mod,自动打包Spriter制作的动画文件为***.zip,转换PNG图片为***.tex图片)

spriter(用于制作动画包括静态图片)

FMOD Designer (用于制作音效等)(非必需)

Tiled (制作地图)(非必需)

sublime或者notepad++(喜欢前者)

TEXTOOL(tex与png转化,方便改图,最好还要有个ps,textool1.3下载地址:链接:http://pan.baidu.com/s/1mittdUC 密码:0e23)(非必需)

KTOOL(下载地址 链接:http://pan.baidu.com/s/1c14i8Qs 密码:lkrh)


(暂无提供mod tools和spriter下载,<正版spriter在工具库的Mod Tools里面,如上图>)


下面是一个食物mod的模板

链接:http://pan.baidu.com/s/1i46GeeL 密码:bzcn

打开模板


1.首先添加一个物品栏的食物图片(一张64*64大小(满足长宽相等,以及数字为2的整数次方的条件即可)的png图片)

可以自己用textool转成.tex


记得打勾

或者不手动转,让饥荒自己帮你转

图片做好放在\images\inventoryimages

在这个文件夹下,新建一个myfood.xml文件(.xml文件是用来控制切割图片的)。(模板已经准备好了)输入以下内容并保存 
<Atlas> 
<Texture filename="myfood.tex" />
<Elements> 
<Element name="myfood.tex" u1="0" u2="1" v1="0" v2="1" />
</Elements> 
</Atlas> 



(images文件夹就算ok了)

2.物品栏图片做好了,下面准备一个放在地上的图片(由于懒癌,图片还是采用了物品栏的那个,所以看起来比较小,建议勤快点重新准备一张大点的,)

在exported文件夹下新建一个myfood文件夹,myfood下新建一个ground_myfood文件夹,(其实名称无所谓,只是方便识别)

把做好的图片ground_myfood.png放在里面

打开spriter


新建工程

 

选择文件夹


拖放进入场景并调整(十字是人物拾取的部位)


右下角也改一下

为myfood为名保存


第二步就这样吧

3.代码部分

modinfo不再赘述

modmain

PrefabFiles = {
	"myfood",  ''新设定的prefab都必须在这里注册
	}
\scripts\prefabs\myfood.lua

local assets =
{
    Asset("ANIM", "anim/myfood.zip"),
	Asset("ATLAS", "images/inventoryimages/myfood.xml"),
    Asset("IMAGE", "images/inventoryimages/myfood.tex"),
}

local prefabs =
{
  
}

local function fn()
    local inst = CreateEntity()

    inst.entity:AddTransform()
    inst.entity:AddAnimState()
    inst.entity:AddNetwork()

    MakeInventoryPhysics(inst)

    inst.AnimState:SetBank("myfood")
    inst.AnimState:SetBuild("myfood")
    inst.AnimState:PlayAnimation("idle")

    inst.entity:SetPristine()

    if not TheWorld.ismastersim then
        return inst
    end

    inst:AddComponent("inspectable")
	
	inst:AddComponent("stackable")           ''可堆叠
    inst.components.stackable.maxsize = TUNING.STACK_SIZE_SMALLITEM
	
	
	inst:AddComponent("perishable")          ''有保质期
    inst.components.perishable:SetPerishTime(TUNING.PERISH_SUPERSLOW)
    inst.components.perishable:StartPerishing()
    inst.components.perishable.onperishreplacement = "spoiled_food"
	
	
	 inst:AddComponent("inventoryitem")      ''是物品栏物品
    inst.components.inventoryitem.imagename = "myfood"
    inst.components.inventoryitem.atlasname = "images/inventoryimages/myfood.xml"

	
	inst:AddComponent("edible")            ''可食用
	inst.components.edible.healthvalue = 6 
    inst.components.edible.hungervalue = 30
    inst.components.edible.sanityvalue = 5

    return inst
end

return Prefab("myfood", fn, assets, prefabs)



4.一切就绪打开游戏(静等mod tools生成zip包)



没有modtools 是不会有这一步的,所以还是买个正版安逸


进游戏界面后,在看\anim文件夹下多了一个myfood.zip


--The End--






  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值