「自制卡牌游戏DIY」点击与选中反馈

前天 22:545 浏览主题教程
我正在尝试用『星火编辑器』创作一款卡牌游戏。
前面两期我们完成了战斗界面UI相关的设计,但是还没有编写相应触发器逻辑。今天我们尝试从简单的点击与选中反馈开始,将游戏内需要的各种功能和效果一步步实现。
在很多如P2这样的优秀游戏中,都有细致的操作反馈。例如当玩家选中己方/敌方单位,该单位脚下会出现绿圈/红圈。当单位移动或爬上地形时,该圈也会同步进行移动。这个圈又叫指示器,用于指示选中的单位,属于3D表现中的一种。
既然要做表现,那么我们打开数据编辑器,找到表现栏打勾(P3)
点击表现部分的“+”号,可创建粒子效果的蓝图。像图中的绿色3D圈就能很好表现选中己方单位的效果(P4);同理,可以用一个蓝圈表示选中的中立单位,用红圈表示选中的敌方单位。
来到触发器服务端。现在要实现的效果是,在战斗场景中,当任意单位被选中时,程序会根据单位的阵营(己方/中立/敌对)创建不同的、附着在单位上的指示器;玩家取消选中该单位、选中单位死亡、或玩家选中其他单位时,该指示器立即消失。那么我们直接创建选中任意单位的触发器,用switch语句区分选中单位和玩家阵营的敌友关系,并据此决定创建的表现。而表现创建后可根据需要缩放,但要加入播放表现的语句(P5)
这里有两个要注意:一是在创建+播放表现后,还要记得在点击选中的单位上将指示器表现保存,附着在单位的绑点上;二是要记录当前选中的单位以及其与玩家自己的敌友关系,这是为了提前给客户端逻辑铺路——我们创建的事件中,要包含这两个信息让客户端接收,方便以后客户端根据该信息进行下一步处理(P6)
对应的,也要创建一个取消选中的触发器事件。为了取到刚才的表现,我们创建一个表现类型的变量,用刚刚表现在单位身上的保存值转换为表现赋值给它,就顺利让程序取到了刚刚的表现。那么,但凡刚刚选中的单位表现不是空,那么取消选中时就直接强制摧毁就好了。同样的,也像刚才一样给客户端发一个取消选中的事件(P7)
按照类似流程,在点击单位移动时,也可在目标位置上显示一个绿色指向动画(P8)不过创建时要将生存周期设为一次性,勾选宿主销毁自动销毁(P9)
因为是自动销毁的一次性表现,在触发器里创建时就不用写语句将表现销毁了(P10)
最后看看效果,选中中立单位蓝圈正确,点击目标位置动画正确,ok!(P11)
感谢小伙伴们的点赞关注支持,下期我们还是不见不散哦!
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap