毕业设计之背包系统1
2018-03-19 09:16
411 查看
打算写任务系统,背包系统,战斗系统三部分,但是目前只做过背包系统(跟着siki学的),战斗系统(还不是用FSM写的),决定从背包系统开始,修改下之前的框架。
先做UI:
背包系统是由很多小格子构成,每个格子也就是一个图片,创建一个image,加一个button,把所有格子放到一个空物体下面,为了对小格子进行排序所以要有Grid layout Group组件。grid layout group组件设置排序方式偏移等等。
写代码:
整体框架如下
Item基类:
public class Item {
public int ID { get; set; }
public string Name { get; set; }
public ItemType Type{get;set;}
public ItemQualitys Quality { get; set; }
public string Description { get; set; }
public int Capacity { get; set; }//容量
public int BuyPrice { get; set; }
public int SellPrice { get; set; }
public string Sprite { get; set; }
public Item()
{
this.ID = -1;
}
public Item(int id,string name,ItemType type,ItemQualitys quality,string des,int capacity,int buyPrice,int sellPrice,string sprite )
{
this.ID = id;
this.Name = name;
this.Type = type;
this.Quality = quality;
this.Description = des;
this.Capacity = capacity;
this.BuyPrice = buyPrice;
this.SellPrice = sellPrice;
this.Sprite = sprite;
}
/// <summary>
/// 物品类型
/// </summary>
public enum ItemType
{
Consumable,//消耗品
Equipment,//装备类
Weapon,//武器
Material//材料
}
/// <summary>
/// 物品品质
/// </summary>
public enum ItemQualitys
{
white,//白色
yellow,//黄色
blue,//蓝色
Orange//橙色
}
/// <summary>
/// 得到提示面板应该显示什么样的内容
/// </summary>
/// <returns></returns>
public virtual string GetToolTipText()
{
string color = "";
switch(Quality)
{
case ItemQualitys.white:
color = "white";
break;
case ItemQualitys.blue:
color = "blue";
break;
case ItemQualitys.Orange:
color = "orange";
break;
case ItemQualitys.yellow:
color = "yellow";
break;
}
string text = string.Format("<color={4}>{0}</color>\n<size=10>购买价格:{1}出售价格:{2}</size>\n<color=blue>{3}</color>", Name, BuyPrice, SellPrice, Description, color);
return text;
}消耗品:
public class Consumable : Item
{
public int HP { get; set; }
public int MP { get; set; }
public Consumable(int id, string name, ItemType type, ItemQualitys quality, string des, int capacity, int buyPrice, int sellPrice, string sprite, int hp,int mp) : base(id, name, type, quality, des, capacity, buyPrice, sellPrice,sprite)
{
this.HP = hp;
this.MP = mp;
}
}武器类:
public class Weapon : Item
{
public int Damage { get; set; }
public Weapon(int id, string name, ItemType type, ItemQualitys quality, string des, int capacity, int buyPrice, int sellPrice,int damage,string sprite) : base(id, name, type, quality, des, capacity, buyPrice, sellPrice,sprite)
{
this.Damage = damage;
}
public override string GetToolTipText()
{
string text= base.GetToolTipText();
int damage = Damage;
string newtext = string.Format("{0}\n<color=green>攻击力:{1}</color>", text, damage);
return newtext;
}
}装备类:
public class Equipment : Item
{
public int Strength { get; set; }//力量
public int Intellect { get; set; }//智力
public int Agility { get; set; }//敏捷
public int Stamina { get; set; }//体力
public EquipmentType equipType { get; set; }
public enum EquipmentType
{
None,
Head,
Chest,//胸部
Leg,//腿
Boots,//腿
}
public Equipment(int id, string name, ItemType type, ItemQualitys quality, string des, int capacity, int buyPrice, int sellPrice,int strength,
int intellect,int agility,int stamina,EquipmentType equiptype,string sprite) : base(id, name, type, quality, des, capacity, buyPrice, sellPrice,sprite)
{
this.Strength = strength;
this.Intellect = intellect;
this.Agility = agility;
this.Stamina = stamina;
this.equipType = equiptype;
}
public override string GetToolTipText()
{
string equipTypeText = "";
switch(equipType)
{
case EquipmentType.Head:
equipTypeText = "头部";
break;
case EquipmentType.Chest:
equipTypeText = "胸部";
break;
case EquipmentType.Leg:
equipTypeText = "腿";
break;
case EquipmentType.Boots:
equipTypeText = "靴子";
break;
}
string text= base.GetToolTipText();
string newText = string.Format("{0}\n<color=blue>装备类型:{5}\n力量:{1}\n智力:{2}\n敏捷:{3}\n体力:{4}</color>", text,Strength,Intellect,Agility,Stamina,equipTypeText);
return newText;
}
}
先做UI:
背包系统是由很多小格子构成,每个格子也就是一个图片,创建一个image,加一个button,把所有格子放到一个空物体下面,为了对小格子进行排序所以要有Grid layout Group组件。grid layout group组件设置排序方式偏移等等。
写代码:
整体框架如下
Item基类:
public class Item {
public int ID { get; set; }
public string Name { get; set; }
public ItemType Type{get;set;}
public ItemQualitys Quality { get; set; }
public string Description { get; set; }
public int Capacity { get; set; }//容量
public int BuyPrice { get; set; }
public int SellPrice { get; set; }
public string Sprite { get; set; }
public Item()
{
this.ID = -1;
}
public Item(int id,string name,ItemType type,ItemQualitys quality,string des,int capacity,int buyPrice,int sellPrice,string sprite )
{
this.ID = id;
this.Name = name;
this.Type = type;
this.Quality = quality;
this.Description = des;
this.Capacity = capacity;
this.BuyPrice = buyPrice;
this.SellPrice = sellPrice;
this.Sprite = sprite;
}
/// <summary>
/// 物品类型
/// </summary>
public enum ItemType
{
Consumable,//消耗品
Equipment,//装备类
Weapon,//武器
Material//材料
}
/// <summary>
/// 物品品质
/// </summary>
public enum ItemQualitys
{
white,//白色
yellow,//黄色
blue,//蓝色
Orange//橙色
}
/// <summary>
/// 得到提示面板应该显示什么样的内容
/// </summary>
/// <returns></returns>
public virtual string GetToolTipText()
{
string color = "";
switch(Quality)
{
case ItemQualitys.white:
color = "white";
break;
case ItemQualitys.blue:
color = "blue";
break;
case ItemQualitys.Orange:
color = "orange";
break;
case ItemQualitys.yellow:
color = "yellow";
break;
}
string text = string.Format("<color={4}>{0}</color>\n<size=10>购买价格:{1}出售价格:{2}</size>\n<color=blue>{3}</color>", Name, BuyPrice, SellPrice, Description, color);
return text;
}消耗品:
public class Consumable : Item
{
public int HP { get; set; }
public int MP { get; set; }
public Consumable(int id, string name, ItemType type, ItemQualitys quality, string des, int capacity, int buyPrice, int sellPrice, string sprite, int hp,int mp) : base(id, name, type, quality, des, capacity, buyPrice, sellPrice,sprite)
{
this.HP = hp;
this.MP = mp;
}
}武器类:
public class Weapon : Item
{
public int Damage { get; set; }
public Weapon(int id, string name, ItemType type, ItemQualitys quality, string des, int capacity, int buyPrice, int sellPrice,int damage,string sprite) : base(id, name, type, quality, des, capacity, buyPrice, sellPrice,sprite)
{
this.Damage = damage;
}
public override string GetToolTipText()
{
string text= base.GetToolTipText();
int damage = Damage;
string newtext = string.Format("{0}\n<color=green>攻击力:{1}</color>", text, damage);
return newtext;
}
}装备类:
public class Equipment : Item
{
public int Strength { get; set; }//力量
public int Intellect { get; set; }//智力
public int Agility { get; set; }//敏捷
public int Stamina { get; set; }//体力
public EquipmentType equipType { get; set; }
public enum EquipmentType
{
None,
Head,
Chest,//胸部
Leg,//腿
Boots,//腿
}
public Equipment(int id, string name, ItemType type, ItemQualitys quality, string des, int capacity, int buyPrice, int sellPrice,int strength,
int intellect,int agility,int stamina,EquipmentType equiptype,string sprite) : base(id, name, type, quality, des, capacity, buyPrice, sellPrice,sprite)
{
this.Strength = strength;
this.Intellect = intellect;
this.Agility = agility;
this.Stamina = stamina;
this.equipType = equiptype;
}
public override string GetToolTipText()
{
string equipTypeText = "";
switch(equipType)
{
case EquipmentType.Head:
equipTypeText = "头部";
break;
case EquipmentType.Chest:
equipTypeText = "胸部";
break;
case EquipmentType.Leg:
equipTypeText = "腿";
break;
case EquipmentType.Boots:
equipTypeText = "靴子";
break;
}
string text= base.GetToolTipText();
string newText = string.Format("{0}\n<color=blue>装备类型:{5}\n力量:{1}\n智力:{2}\n敏捷:{3}\n体力:{4}</color>", text,Strength,Intellect,Agility,Stamina,equipTypeText);
return newText;
}
}
相关文章推荐
- 毕业设计之背包系统2
- 毕业设计之背包系统3
- NGUI 背包系统的拖拽
- Unity背包系统(二)背包UI设计
- unity手游<少侠历险记>(4)背包系统
- 【Unity】NGUI背包系统——背包整理按钮的实现
- 基于NGUI的背包管理系统之物体拖拽DEMO
- 物联网 毕业设计——社交物联网系统的思考
- 毕业设计——第三章 开发方法及系统实现(6)(完结)
- 毕业设计项目展示作品三:Android动漫点评管理系统,Web后台服务端JSP支撑安卓端交付,全网独创,全网唯一,版权所有
- 我们的游戏世界(背包【仓库】,交易,任务,简单经济系统,装备)实现(基于仙剑demo聊聊游戏世界)第四篇谈谈背包
- VB6编写的职工工资管理系统毕业设计
- (图书管理系统)毕业设计把后缀改为 Rar 再压
- Unity3D(六)背包系统
- 求助! 毕业设计 ___校园设备管理系统
- siki背包系统(1) 详细笔记
- ACM 698. 货币系统(背包变形)
- Unity3D系统实现背包里物品的各种功能
- 背包系统的制作
- 毕业设计系统基本框架 【basic 1.0】springMVC+mybatis+mysql