下载 App

「自制卡牌游戏DIY」战斗出卡逻辑(1)

2025/09/21152 浏览主题教程
我正在用『星火编辑器』将一张卡牌变成一款卡牌游戏。
在前几期中,我们设计并完善了战斗抽卡系统,使得游戏能以符合玩家体验的方式,在战斗阶段中为玩家刷出呈现各具效果的卡牌——我们正在一步步为这款卡牌游戏搭建肉体、铸造灵魂。然而,玩家选择及打出卡牌的逻辑同样重要,今天我们就要对这一部分的功能搭建发起冲锋。
在前面我们已经在客户端逻辑中为场上的卡牌写好了点击事件(P2),那么我们直接来到服务端触发器,创建选中卡牌的触发器,而它的触发事件正是前面这个点击事件。根据客户端发来的卡牌索引,我们在局部变量中即可取到我们具体点击的卡牌。接着,我们根据卡牌的不同状态,来对玩家点击卡牌的事件做出响应。首先是“未抽取”状态,既然卡牌都已经被抽到场上了,怎么可能还会是“未抽取”呢?这种情况不合预期,说明出bug了,发一条报错log(P3)
另一种情况是玩家选中了一张还未被选中的卡牌。这时要注意,首先需要做的不是将这张卡牌选中,而是遍历全部4张卡牌,将其他已选中的卡牌取消选中(例如在卡牌2选中时你点了卡牌4,此时玩家想要的体验是在取消选中卡牌2的同时选中卡牌4)。当其他卡牌都处于还没被选中的状态时,将玩家点击的这张卡由未选中变为选中(P4)
还有一种情况是玩家选中了一张已经选中的卡牌。玩家再次点击已选中的卡牌而未将其打出,需要的体验是取消选中。那么我们只需发送取消卡牌选中的事件即可。这里的每种情况都要记得修改卡牌的状态。至于卡牌状态的其他情况,按照逻辑,场上卡牌不应处于还在场下的卡牌状态,所以输出错误日志即可(P5)
当玩家选中一张部队卡时,要做的是往场上放怪。但并不是场上所有区域都能放怪,即便在热门游戏《皇x战争》也不行。因此,可以给玩家提供一个如P6的区域指示器指示玩家可放怪的区域。那么,在数据编辑器里找到表现,创建表现,根据玩家需要设置指示器缩放即可添加表现(P7)
回到客户端,在生成己方放怪区域方法中创建相应表现,然后设置其所属玩家并播放它。接着在需要想要保存的单位身上保存该表现即可(P8)
同样的,销毁己方放怪区域就是将刚才保存的表现进行强制摧毁。当玩家选中部队卡时,显示放怪区域;取消选中时,销毁放怪区域,这样体验就很nice了(P9)
游戏制作分享&教程系列《自制卡牌游戏DIY》第30期撒花🎉,感谢所有支持的小伙伴!欢迎大家体验使用『星火编辑器』做游戏,无需会程序or美术,超酷的!
猜你想搜
星火编辑器 卡牌点击事件
星火编辑器-修改官方预制自定义物品信息模板截图
星火编辑器-修改官方预制自定义物品信息模板
大家对DIY物品信息显示都很热衷,但是在具体实现上还是比较费神费力的,这次的更新将会极大程度上减少开发者的困难,而且非常好用。 首先,需要将编辑器更新到10版本,这次的更新官方重构了物品提示信息面板,并在界面编辑器中加入了7个全新的页面: 我们所要修改的页面主要是【物品信息_物品信息模板】中的【物品信息】控件: 其中【上部属性面板】就是背包效果,【下部属性面板】就是装备效果 这两个不需要管它,我们
18 赞
3 回复
星火编辑器客户端物品获取属性值的方法截图
星火编辑器客户端物品获取属性值的方法
物品添加属性分两种情况 1:设置额外属性 2:添加词缀 各有各的优缺点。 本次主要讲的是添加词缀如何在客户端获取属性值。 第一种情况:词缀buff里的属性值是设置好的固定值。 这类添加给物品后,在客户端获取就很容易。 因为添加的词缀是“装备”词缀,只需要遍历指定的装备词缀列表这条语句,获取到buff_id 再直接将buff_id通过转化成(数编表:buff),再对数编表buff里的属性修改里去获取
9 赞
35 回复
「自制卡牌游戏DIY」战斗抽卡系统(3)截图
「自制卡牌游戏DIY」战斗抽卡系统(3)
#星火编辑器 #星火编辑器入门 #星火编辑器案例 我正在用『星火编辑器』将一张游戏卡牌变成一款卡牌游戏。 在上一期,我们成功把玩家刷新刷出卡的信息经服务端处理后,转化为客户端中可用于显示给玩家的面板控件。这期让我们继续完善战斗抽卡系统及相关功能的触发器逻辑。 还是在触发器客户端,我们已经完成了修改牌面UI的方法,接下来要做两件事:一个是将场上每张刷出来的卡的UI进行生成和保存,另一个是要为
2 赞
「自制卡牌游戏DIY」战斗抽卡系统设计截图
「自制卡牌游戏DIY」战斗抽卡系统设计
#游戏设计 #思维导图 P2:本系统核心逻辑 P3:卡牌类型相关设计 P4:初始化卡池、打出与刷新卡牌相关设计 P5:不同类型卡牌在打出时涉及的逻辑
00:30
如何构建仓库系统:从逻辑构建到细节优化截图
如何构建仓库系统:从逻辑构建到细节优化
一、功能介绍 本仓库系统实现多物品选择一次性存储功能,包括“开启存仓 - 识别背包物品 - 选中物品存仓 - 关闭存仓清理界面” 完整流程,核心围绕按钮交互、物品遍历、状态控制、UI 联动展开,解决背包物品非连续摆放遍历,保障存仓操作精准。 具体效果演示见视频: 二、核心模块拆解 (一)模式切换:按钮控制存仓逻辑(图 1) 触发条件:点击 "仓库开关" 按钮,进入流程分支。 逻辑设计: 通过判断#攻略
9 赞
1 回复
「自制卡牌游戏DIY」战斗抽卡系统(2)截图
「自制卡牌游戏DIY」战斗抽卡系统(2)
#星火编辑器 #星火编辑器入门 #星火编辑器案例 在上期内容中,我们从卡牌状态的切换打开思路,将从卡池中刷新场上卡牌逻辑用触发器一步步实现,并通过洗牌的方法确保玩家从入场卡池中刷出的卡牌具有随机性。但在此之后系统还需要将抽取的卡牌替换为新卡,并为抽到的法术卡添加法术,方可将刷出卡牌的信息完备地打包给客户端以呈现给玩家,而这正是今天要做的。话不多说,来吧。 接着上期,在对卡池中未抽取的卡牌进行
2 赞
「自制卡牌游戏DIY」战斗抽卡系统(1)截图
「自制卡牌游戏DIY」战斗抽卡系统(1)
#星火编辑器 #星火编辑器入门 #星火编辑器案例 上一期我们完成了游戏的核心功能——战斗抽卡系统的设计,并将主要设计梗概用思维导图的形式清楚呈现。今天我们要着手开始用触发器编写逻辑,实现这个游戏核心玩法系统。本期车速较快,请站稳扶好! 首先我们先做好前置准备,确保已经有了“标准卡牌”类以及足以存储卡牌所需信息的各个成员变量(P2) 同样的,确认玩家信息类里面已经有了这三个“标准卡牌”数组
1 赞
「自制卡牌游戏DIY」游戏阶段管理(2)截图
「自制卡牌游戏DIY」游戏阶段管理(2)
#星火编辑器 #星火编辑器入门 #星火编辑器小功能分享教程 我正在尝试使用『星火编辑器』制作一款卡牌游戏。 今天我们接着上一期继续进行游戏阶段相关的触发器编写。当完成了计时器当前阶段读秒的方法和切换阶段的方法后,要用一个触发器处理阶段结束时程序需要做的事。当阶段结束时,触发器除了要执行服务端的方法外,也要向客户端发送不同的事件指令去让客户端执行和玩家相关的客户端触发器。那么话不多说,直接开干。 在
「自制卡牌游戏DIY」游戏主界面设计截图
「自制卡牌游戏DIY」游戏主界面设计
#星火编辑器 #星火编辑器入门 #卡牌游戏 #星火编辑器小功能分享教程 我正在尝试用『星火编辑器』创作一款卡牌游戏。 在前面几期,我们完成了卡牌和卡牌包功能的制作,并在实机测试中看到了想要的效果。而对于一款卡牌游戏,主界面的设计尤为重要,它将直接影响玩家的观感。星火官方给出了游戏UI的评价标准(P2):左图那样杂乱的UI只能是D档,右图那样将UI合理摆正则能达到C档。那么A档的UI是怎么样的呢?
2 赞
01:09
【开发日志6】《预制菜梦工坊》即将开张截图
【开发日志6】《预制菜梦工坊》即将开张
清理完开张前最后一批不合预期的bug,做完开张前最后一次全工坊大扫除,我们的《预制菜梦工坊》终于要开张啦! 无论是喜欢卡牌的小伙伴,还是喜欢烹饪的小厨师,都能在这里体验到别样的乐趣与风味!另外,传言中梦工坊的Bug怪谈是否真的是其造就一代传奇的梦幻奥秘,就等你来经营探索了! #TapTap聚光灯 #TapTap聚光灯游戏创作挑战 #聚光灯gamejam开发者日志 #聚光灯游戏创作挑战 #TapTa
16 赞
2 回复