网站的实施方案,网络产品营销策划方案,wordpress 网易云,汕头老城饥荒Mod 开发(十四)#xff1a;制作屏幕弹窗
本篇源码 饥荒中按下Tab键可以显示地图#xff0c;刚开始进入游戏的时候地图是未探索状态#xff0c;所以我们并不知道地图上面的物品分布情况。并且地图上只会显示很少一部分的物品#xff0c;比如树枝#xff0c;草#xf…饥荒Mod 开发(十四)制作屏幕弹窗
本篇源码 饥荒中按下Tab键可以显示地图刚开始进入游戏的时候地图是未探索状态所以我们并不知道地图上面的物品分布情况。并且地图上只会显示很少一部分的物品比如树枝草浆果这些会显示但是牛胡萝卜蜘蛛等等都是不会显示的。
显示全图
可以在modmain.lua 文件中增加下面代码进入游戏之后就可以直接显示全图了
-- 定义一个函数用于显示完整的地图
local function ShowFullMap(inst)-- 在0.001秒后执行以下操作inst:DoTaskInTime( 0.001, function() -- 查找带有minimap标签的第一个实体并将其赋值给minimapminimap TheSim:FindFirstEntityWithTag(minimap)-- 在minimap上调用MiniMap:ShowArea方法显示一个大范围的区域minimap.MiniMap:ShowArea(0,0,0,40000)end)
end-- 在模拟器后初始化时添加一个函数
-- 这个函数会在世界构造完成后被调用
AddSimPostInit(function(inst)-- 调用ShowFullMap函数显示完整的地图ShowFullMap(inst)
end)显示牛的位置
2.1 准备贴图图片
默认的时候打开大地图并不会显示牛的位置为了能显示牛我们需要一张png的贴图 64*64像素 32 bit。将图片放到 images/inventoryimages 目录下
2.2 编译生成贴图
工具的使用可以参考 饥荒Mod 开发(三)资源工具使用 我们先cd 到工具目录下然后执行一下脚本
PS D:\WeGameApps\rail_apps\饥荒单机版(2000013)\mods\pigpet h:\Dont Starve Mod Tools\ds_mod_tools\build\win32\mod_tools\autocompiler.exe D:\WeGameApps\rail_apps\饥荒单机版(2000013)\mods\pigpetfoodAtlasing D:\WeGameApps\rail_apps\饥荒单机版(2000013)\mods\pigpetfood\images\inventoryimages\beefalo.png npot: False
Atlasing[################################] 1/1
dest_filename D:\WeGameApps\rail_apps\饥荒单机版(2000013)\mods\pigpetfood\images\inventoryimages\beefalo.tex ROOT:D:\WeGameApps\rail_apps\饥荒单机版(2000013)
D:\WeGameApps\rail_apps\饥荒单机版(2000013)\mods\pigpetfood\images\inventoryimages\lightsword.xml is up to date.
D:\WeGameApps\rail_apps\饥荒单机版(2000013)\mods\pigpetfood\images\inventoryimages\pigpetfood.xml is up to date.
D:\WeGameApps\rail_apps\饥荒单机版(2000013)\mods\pigpetfood\anim\lightsword.zip is up to date.脚本执行完之后会打包 贴图文件
2.3 显示 牛 的位置
拦截 牛的创建过程设置牛的位置
-- 定义资源包括图片和图集
Assets
{Asset( IMAGE, images/inventoryimages/beefalo.tex ), -- 加载图片资源Asset( ATLAS, images/inventoryimages/beefalo.xml ), -- 加载图集资源
}-- 添加小地图图集
AddMinimapAtlas(images/inventoryimages/beefalo.xml)-- 对beefalo预制物体进行后初始化
AddPrefabPostInit(beefalo, function(inst)-- 添加小地图实体local minimap inst.entity:AddMiniMapEntity()-- 设置小地图图标minimap:SetIcon( beefalo.tex )
end)地图上可以用相同的方法显示任何的 物品代码很简单。