Unity3D的简单商店、背包与装备系统(UGUI)

Store And Equipment System In Unity3D

Introduction

物品元素可以说是所有RPG的必备系统,毕竟,如果没有物品系统就没有消耗,没有消耗哪能骗玩家充钱呢?最简单的物品系统应该是所谓的商店、背包加装备的结构,而这个Demo则主要基于UGUI实现一个简单的上述系统

UI

制作系统的第一步便是UI的绘制了。无论美术资源来自何方,画风如何,应该基本包括如下几个层面:

  • 角色信息界面,用于显示主角的装备槽位以及正在穿戴中的装备
  • 背包界面,用于显示主角拥有的物品集合
  • 金钱标签,用于显示主角当前拥有的钱币
  • 商店界面,用于显示当前售卖的物品集合
  • (可选)快速物品栏,通常与技能栏合用,让玩家能够快速使用物品

在我的Demo中也基本实现了上述模块

Bag System

一个背包系统的组成很简单,即面板+很多的格子,再贴一个金钱的文本框和几个图标就能够完成,我的背包也是基于上述想法来实现的:

  • 通过Unity3D的Scroll View作为背包系统的主面板
  • 创建Grid对象,并设置其Image为相应的Spirit作为物品图标
  • 实现物品拖动逻辑,主要是在C#脚本实现动画表现,Lua更新数据,即注册onDrag事件,当鼠标拖动一个Grid时,创建一个当前Grid的副本,并在onDraging中不断获取当前鼠标所在的屏幕坐标赋值给副本的Transform,最后进行鼠标弹起位置的判断是否放在有效的区域,若位置合法则移动物品,并将数据写入Lua类,同步到服务器
// copy current grid
public static InventoryUIItemWrapperBase CreateDragObject(InventoryUIItemWrapperBase from)
{
    var copy = GameObject.Instantiate<InventoryUIItemWrapperBa
  • 7
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值