码迷,mamicode.com
首页 > 编程语言 > 详细

Unity3d - RPG项目学习笔记(十二)

时间:2016-09-04 01:36:08      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:

前期实现了背包基本的存储功能,现在开始构建背包物品的移动及调换功能,具体思路如下:

①读取现有物品所在的格子信息。

②对移动目标地点进行判断(即surface的Tag):

如果surface的Tag为空,则使物品的局部坐标归零;

如果surface的Tag不为空,分为几个情况考虑:

1.Tag为背包格子:说明移动地点为空格子,所以讲物品信息赋值到目标下,清除现有信息即可;

2.Tag为背包物品:说明移动地点为有物品格子,将两格子的信息交换即可;

3.Tag为其他物品:说明非常规移动,将物品的位移信息清零。

脚本添加如下:

Class Inventory_item

{

    void ResetPosition( )

    {

        tranform.localPostion = Vector3.zero;

    }

    protected override void OnDragDropRelease(GameObject surface)

    {

        base.OnDragDropRelease(surface);

        if( surface != null )

        {

             if( surface.Tag == "Inventory_grid")          

            {

                if(surface = this.transform.parent.gameObject)

                {

                    ResetPosition();

                }

                else

                {

                    InventoryGrid nowgrid = this.transform.parent.GetCompnent<InventoryGird>();

                    this.tranform.parent = surface.transform;

                    ResetPosition();

                    InventoryGrid newgrid = surface.GetCompnent<InventoryGrid>();

                    newgrid.SetId(nowgrid.id,nowgrid.num);

                    nowgrid.ClearInfo();

                }

            }

            else if( surface.Tag == "InventoryItem" )

            {

                 InventoryGird grid1 = this.transform.parent.GetCompnent<InventoryGrid>();

                 InventoryGrid grid2 = surface.transform.parent.GetCompnent<InventoryGrid>();

                 int id = grid1.id; int num = grid1.num;

                 grid1.SetId(grid2.id,grid2.num);

                 grid2.SetId(id,num);

            }

            else

            {

                ResetPositon();

            }

        }

        else

        {

             ResetPosition();

        }

    }

}

Unity3d - RPG项目学习笔记(十二)

标签:

原文地址:http://www.cnblogs.com/yanbenxin/p/5838436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!