「自制卡牌游戏DIY」简易选英雄功能(1)

昨天 23:444 浏览主题教程
我正在尝试使用『星火编辑器』制作一款卡牌游戏。
在前面分享的功能中,我们已经可以让玩家选择一个主线关卡并进入跳转界面。今天接着上次的思路继续,制作玩家进入主线关卡后要跳转进入的选人界面。
还是先从界面设计开始。今天要尝试的新面板是“可附着面板”。我们打开界编组件库,从gameui中找到“可附着面板”(P2)
/*科普-可附着面板:是一种可附着于单位绑点上、并跟随单位移动的2DUI面板。该面板可根据单位距离自动缩放,也可在附着单位消失时自动隐藏。缺点是如果大量使用可附着面板,会对程序UI性能造成影响*/
创建完可附着面板后,在该面板下面分别创建名为标题、按钮、文字的label、button和panel,并在每个创建的控件下再创建一个文本label控件。这样一个简易的用于显示英雄描述和点击选择英雄的小窗口就建好了。这些文字具体填入的文本可以任意,因为游戏中实际显示的内容会在触发器中配置和生成(P3)
接着创建按钮点击事件(P4)。按钮的事件属性要记得设置静态关吃掉开(具体我以前笔记中有科普,这里不赘述)。注意这个事件的环境是客户端。
来到触发器环节。在服务端,首先要处理的是在英雄选择场景中点击选中英雄的事件。这里的逻辑是:当玩家选中的单位是英雄,且不是自己的主控单位时,程序才会将选中的英雄赋值到在当前玩家信息中,并向玩家客户端发送选中大英雄的事件。在发送的这个事件中,要将选中的英雄包括在事件的参数中。此外,客户端还需要知道玩家当前的状态——是否已完成英雄选择,以及当前已选择的英雄(若未选择则传入默认值),因此这两个参数也要传给客户端(P5)
这里有一个要注意的是,如果要通过数编表单位属性C++类判断是否为英雄,需要在数编表里将布置在场景中待选择的英雄的“单位C++类”属性设定为“英雄”(P6)
同样,取消选中英雄的逻辑也是如此(P7)
而当玩家在未选定英雄,但已经选中了某个英雄的情况下,点击相应可附着面板上的“选择”按钮,客户端发送过来的事件会触发这个触发器——将选中的英雄赋值给当前玩家信息中玩家控制的英雄,给客户端发送事件并将选择的英雄通过事件参数发送给客户端(P8)
这样这个简易选英雄功能的界面和服务端部分就暂告一段落了。依旧车速不快,平稳行驶。感谢大家的关注点赞支持,下一期我将继续分享这个功能的客户端部分,不见不散哦!
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap