咕咕咕,鸽了好久,今天来继续我们的游戏开发
今天实现的内容是把卡牌加入卡组,从文件读取卡组,从卡组删除卡牌,把卡组保存到文件中。
---------------------------------------------------分割线---------------------------------------------------------------------
首先是卡牌加入卡组。上一期我们实现了加载所有卡牌列表,现在我想要点击某张卡牌时它能够加入到卡组中。那么我们先新建一个卡组ui,用来显示卡组中的卡牌。
大概这样。我们需要卡牌按一定的规则排列好,方便检查卡组,所以在卡组对象下挂一个空对象,给它加一个Grid Layout Group组件,这样可以让它的子对象以表格的显示显示。
约束计数就是一行放多少个子对象。上面的数据自己看着填就行。
接下来要做的事情很简单:点击卡牌列表的卡牌时,新建一个子对象挂在deck_parent上。首先我们把card_inlist预制体复制一下,后面还得做个卡组中的卡牌。因为需要增加点击事件,所以在预制体中增加一个空对象,在上面挂一个脚本,脚本里写一个public的函数,然后给预制体增加点击事件,把这个空对象放到点击事件中,右侧选择刚刚写的函数即可。我写的函数名字是PushCard
可以在PushCard函数中写个debug测试一下能不能正常触发事件。
思考一下,我们要往卡组里增加卡牌,如何表示卡组中的卡牌数量呢,有两种方法,一是有多少张就显示多少张,二是在卡牌上显示一个数字,表示卡组里面的这张卡牌已经有多少张了。为了方便,我选择了第二种。因此,我们要用到刚刚复制出来的预制体。
把复制出来的预制体改名为Card_indeck,表示这个卡牌预制体是用来在卡组中显示的。给它添加一个新的空对象名为nums,方便管理卡牌数量。其实在随便一个预制体的脚本增加一个public的变量也行,只要会调用就行。在nums下面挂一个text组件,用来存储和显示数量。