28. 制作 Gameplay Panel
1.02. 创建房间的 Prefab2.03. 设计地图配置表3.04. 生成地图上的房间4.07. 泛型事件框架5.08. 场景加载6.09. 保存地图场景7.10. 房间进出逻辑8.11. 制作卡牌 Prefab9.12. 创建卡牌数据类10.13. 对象池11.14. 制作卡牌库实现抽卡12.15. 创建卡牌布局13.16. 抽卡动画14.17. 实现卡牌扇形布局15.18. 实现鼠标事件16.19. 卡牌拖拽17.20. 攻击牌的拖拽指针18.21. 实现洗牌逻辑19.22. 导入Spine人物素材20.23. 人物基类代码21.24. 执行卡牌效果22.25. 制作血条的 UI Document23.26. 绑定血条数据24.27. 创建USS血条样式
25.28. 制作 Gameplay Panel
26.29. 绑定 Gameplay Panel 数据27.30. 回合转换28.31. 出牌能量判断29.32. 防御牌及 UI30.33. 回血的苹果牌及特效31.34. 增加力量牌及 UI32.35. 更多卡牌33.36. 人物动画34.37. 敌人意图 AI 逻辑35.38. 敌人的动画执行逻辑36.39. 对战胜负逻辑37.40. 制作胜利和抽卡面板38.41. 抽卡面板的实际逻辑39.42. GameOver 及 Menu 面板40.43. 实现休息房间的逻辑41.44. Boss 制作和整体流程42.45. 淡入淡出及打包游戏本节目标
实现以下 UI
功能实现
创建 GameplayPanel
在 UI 目录下创建一个 GameplayPanel,编辑 GameplayPanel,增加 Visual Element、Label、Button
注意,需要将它们的 Attributes -> Picking Mode 都修改为 Ignore,避免鼠标在拖拽卡牌的时候碰到 UI 物体后,系统认为鼠标松开了
需要特别注意一下,EndTurn 这个按钮是不能将 Picking Mode 改为 Ignore 的,否则按钮的鼠标交互就没有了
Top 和 TurnLabel
Top 需要修改 Flex.Grow 为 0,Size.Height 为 80
Energy、DrawDeck、DiscardDeck的父级VisualElement
需要将 Position Mode 改为 Absolute,也就是相对布局。距离左侧 48 像素,距离下侧 60 像素。
大小改为 393 x 341
Energy
EnergyAmount
首先需要将 Text 改为 3,然后把 Select Word By Double Click、Select Line By Triple Click、Display Tooltip When Elided 取消勾选
Position 距离右边 23 像素
字体选择得意黑,字体加粗,字体大小48,居右,外边框2像素,白色
EndTurn
EndTurn 是一个 Button,需要去掉按钮里面的文字,背景色,边框
为了给按钮添加移动过去放大,以及点击放大的效果,我们需要给它增加样式
将添加好的样式放到 EndTurn 按钮上面
.turnbutton:hover
表示当鼠标悬停在按钮上的时候触发,.turnbutton:active
表示当鼠标点击按钮的时候触发
项目相关代码
合集:
王国之梦
分类:
unity / 王国之梦
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?