【Unity】基于MVC模式的背包系统 UGUI实现

前言


本文基于MVC模式,用UGUI初步实现了背包系统。

Control层包含了点击和拖拽两种逻辑。


博文首发:http://blog.csdn.net/duzixi

下载地址:https://github.com/duzixi/InventorySystem


一、工程准备(详见工程文件)

场景中Canvas上的对象:

  • Bag:用于显示背包内容
  • PickedItem:用于显示拾取道具的图片

资源中的预设体:

  • Item:生成背包的格子


二、源代码


Model 层

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
/// <summary>
/// 脚本功能:MVC模式——Model层,定义物品结构,保存物品数据
/// 添加对象:Bag 背包(Canvas下的空对象)
/// 版权声明:Copyright (c) 2015 duzixi.com  All Rights Reserved
/// 创建日期:2015.5.8
/// 知识要点:
/// 1. MVC
/// 2. 自定义类
/// 3. 类的嵌套
/// </summary>
public class ItemModel : MonoBehaviour {

    // 物品类的定义
    public class Item
    {
        public string name; // 物品名称
        public Sprite img;  // 物品图片

        // 构造器
        public Item(string name, Sprite img) {
            this.name = name;
            this.img = img;
        }
    }

    public static List<Item> items; // 保存物品对象的集合

    // 物品图片数组
    public int size = 16;
    Sprite[] sprites;

    void Awake() // 数据初始化
    {
        items = new List<Item>(); // 初始化List<Item>
        sprites = new Sprite[size];

 
  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值