背包系统,就是该RPG游戏中必须用到的存放装备和技能东西,失去这个系统,那么RPG游戏也就失去了意义,
背包物品移动的步骤:
1、创建一个Sprite作为背景,创建一个Sprite作为背景的子对象,并把它设为预设体。
2、分别拖放8个格子预设体拖放到场景中,排成3行3列,并更其改名称。
3、为第一个格子创建一个子对象作为背包的物品,把它设为预设体,并更改其名称。
4、为格子添加Box Collider,为背包添加Box Collider
5、为物品添加脚本实现把物品拖放到任意格子里面都是居中的。
代码如下:
//必须继承UIDragDropItem
public class KnapsackItem :UIDragDropItem
{
protected override void OnDragDropRelease(GameObject surface)
{
//重写OnDragDropRelease方法
//调用父类的OnDragDropRelease(surface)方法
base.OnDragDropRelease(surface);
if(surface != null) //判断降入移动到的地方是否符合存放该对象的条件(就是判断是否在预设的那几个物品栏里)
{
//把物品放入格子里面
this.transform.parent =surface.transform;
//把物品居中
this.transform.localPosition =Vector3.zero;
}
else //不在物品栏的话回到本来位置
{
//把物品放回本来的格子里面
this.transform.parent = this.transform.parent;
//把物品居中
this.transform.localPosition = Vector3.zero;
}
}
}