在Unity中制作一个数据库存储数据作为背包系统(上)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Unity中制作一个数据库存储数据作为背包系统(上),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1931字,纯文字阅读大概需要3分钟。
内容图文
在Unity中制作一个数据库存储数据作为背包系统(上)
1、利用ScriptableObject类
ScriptableObject类允许开发者不用将脚本作为组件加载在物品上也能调用,而且还可以用来存储数据。
第一步,存储物品的数据
首先新建一个类用来作为存储物品数据的基类
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName ="New Item",menuName = "Inventory/New Item")]
public class Item : ScriptableObject
{
public string itemname;//道具的名字
public Sprite itemimage;//道具的图片
public int itemHeld;//道具数量
//文本区域
[TextArea]
public string iteminfo;//道具的信息
public bool equip; //是否可以被装备
}
然后就可以在项目的创建菜单中,找到Inventory,里面就会出现New Item,点击并创建。
通过这一途径会新建一个继承了Item的Assets,继承了Item里面的数据成员。
第二步,管理物品
通过同样的方法,新建一个类用来作为物品列表的基类
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName ="New Inventory",menuName ="Inventory/New Inventory")]
public class Inventory : ScriptableObject
{
public List<Item> itemlist = new List<Item>();//物品列表
}
同样的方法,建立一个Assert来作为管理物品的列表
第三步,通过点击新增新的物品
我这里设定为,当鼠标点击某一物品,在该物品的ItemHeld上加1,若物品数量为零,则列表中新增一个。
首先,给被点击的物品加上一个collider组件,IsTriger可勾可不勾,主要时用来接收鼠标的点击。然后挂上脚本。
脚本代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ItemOnWorld : MonoBehaviour
{
public Item ThisItem;
public Inventory PlayInventory;
private void Start()
{
ThisItem.itemHeld = 0;//重新加载游戏时清零
}
private void onm ouseDown()//当被鼠标点击时
{
Debug.Log("3");
AddNewItem();
//Destroy(gameObject);
}
public void AddNewItem()//在列表中加入这个物品
{
if (!PlayInventory.itemlist.Contains(ThisItem))
{
PlayInventory.itemlist.Add(ThisItem);
}
else
{
ThisItem.itemHeld = ThisItem.itemHeld + 1;
}
}
}
内容总结
以上是互联网集市为您收集整理的在Unity中制作一个数据库存储数据作为背包系统(上)全部内容,希望文章能够帮你解决在Unity中制作一个数据库存储数据作为背包系统(上)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。