「自制卡牌游戏DIY」自动生成卡牌(3)

07/2796 浏览主题教程
我正在尝试用『星火编辑器』将一张卡牌变成一款卡牌游戏。
前面的尝试让我们顺利做出卡牌和卡牌包,并向更复杂的自动生成卡牌功能发起冲击。上期这个功能的服务端逻辑已经告一段落,这期主打客户端部分。但在此之前要从UI层面做一个生成卡牌页面的实例。点击页面上方“+”号新建页面,这里我将其命名为“卡牌选择页面”。然后在页面中新建panel,长宽比和之前设计的卡牌一致,这里尺寸建议小一些,毕竟卡牌包里要放很多卡牌(P2)
接着创建卡牌所需的各个组件(具体我第一期笔记有讲),这里可以再在卡牌上覆盖一个“上阵图标”的标识,主包懒用ps画图就顺手用了绿钩图标,可不要学我偷懒哦。这里要记得在属性面板里调高渲染层级让它显示在顶端。(P3)
然后来到客户端逻辑。还是老样子,第一步先在局部变量中取到需要用到的卡牌包UI的各个组件。然后初始化卡牌上场的按钮的UI图片与文字,在默认状态下,按钮应该置灰(因为玩家没有选中该卡牌)(P4)
我们可以创建一些全局变量来存储卡牌信息,在这里我分别用两个不同的全局简单表来存储卡牌ID和对应的信息表(P5) 
/*科普-全局变量:客户端的全局变量是可在任意方法中创建,也可被客户端中任意对象或方法引用的变量。服务端全局变量同理。*/
接着编写遍历卡牌包生成新卡牌格的逻辑。这个方法需要传一个参数,那就是上一期中服务端逻辑中将要传给客户端的玩家拥有卡牌的信息,是一个由简单表构成的数组。那么让我们遍历这个数组,就可以获取数组中每一张卡牌的信息。在这个循环中,要先在局部变量中创建一个卡牌选择页面组件的实例,这样这个循环每遍历一次,就会创建一个我们前面在界编中配置好的“卡牌选择页面”。然后,我们在局部变量中获取卡牌页面中的各个子控件,就能做到每遍历一次数组,就能取到该次遍历创建的组件实例中各个UI控件信息(P6)
然后写修改控件属性的逻辑。先调整控件格的相对位置,再分别更新卡牌UI中图片、名称、费用等方面的UI显示。此外,还要根据卡牌类型和卡牌星级等属性分情况讨论卡牌的UI显示。(P7-8)
刚刚“偷懒”用绿勾表示的卡牌上阵状态也要根据传入简单表中是否上阵的布尔信息进行同步(P9)
这样一来,自动生成卡牌主要的客户端方法就八九不离十了。那么剩下内容还请关注此系列的下一期,感谢大家的点赞,让我更有动力持续更新!
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
3