首页 > 代码库 > Unity3d - RPG项目学习笔记(十一)

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

前期工程已经构建了背包、格子、物品三者的关系。简单概括,就是背包管理格子,格子管理(生成、消除)物品,物品根据id或icon_name变更sprite。现在开始进行模拟物品的拾取功能。对Inventory脚本进行添加:

Class Inventory

{

    public GameObject InventoryItem;

    void Update( )

    {

        if(Inpt.GetKeyDown(keycode.x))

        {

             GetId(Randam.Range(1001,1004));     

        }

    }

    public void  GetId(int id)

    {

        Inventory_grid grid = null;

        foreach( var temp in GridList )

        {

            if(temp.id == id)

            {

                 grid = temp;

                 break;

             }

        }

        if( grid != null )

        {

             grid.PlusNumber( );

        }

        else

        {

            foreach( var temp in GridLsit )

            {

                if(temp.id == 0)

                {

                     grid = temp;

                     break;

                }

            }

            if(grid != null)

            {

                GameObject itemGo = NGUITools.AddChlid(grid,inventoryitem);

                itemGo.transform.localPosition = Vector3.zero;

                grid.SetId(id);

            }

        }

    }

}

以上就实现了向背包格子中添加游戏物品。

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