下面是演示环节,本节我们讲解慕课英雄 3
游戏中玩家天赋系统的实现 在 Unity 编辑器中,我们已经登陆游戏
账号,进入游戏主界面,点击天赋按钮 游戏切换到天赋界面,显示天赋系统的天赋技能
在天赋系统中,玩家使用金币升级天赋技能,强化他们的基础战斗能力
游戏界面的天赋系统分为两块 首先是屏幕正中央的天赋系统总览
包括游戏中所有的天赋技能,其中每个天赋技能有对应的
解锁等级,玩家达到该等级后才可以升级相应的天赋技能
点击天赋技能图标后,天赋技能的详细情况显示在游戏界面的右侧
包括天赋技能的描述,玩家天赋技能的 等级,以及天赋技能升级消耗的金币
下面我们讲解玩家天赋系统的实现 和成就系统相似,游戏的天赋系统数据需要存储在
PlayFab GameManager 的 Title Data 中
我们已经在排行榜演示环节完成了天赋系统数据的导入 慕课英雄
3 设计了四个天赋技能 ExpAndMoneySkill
表示土豪技能 天赋技能解锁所需玩家等级,LVLimit
为 3 天赋技能等级上限,LevelUpperLimit 为
10,升级该技能 玩家可以在战斗中获得额外的经验值和金币
Level 表示技能的每个等级,从 0 到 10 级
LevelCost 表示每个等级提升所需要花费的金币数量
ShootingDamageSkill 表示精通伤害技能
该技能的解锁等级为 12,升级该技能可以提升玩家的枪械伤害
ShootingIntervalSkill 表示精通射速技能 该技能的解锁等级为
9,升级该技能可以提升玩家的枪械射速 ShootingRangeSkill
表示精通射程技能,该技能的解锁等级为 6
升级该技能可以提升玩家的射程 每位玩家的天赋技能等级数据保存在
PlayFab GameManager 的 Player Data
中 该数据在玩家升级天赋技能后更新
玩家成功登录游戏账号后 Main
Panel Controller 脚本获取了 PlayFab GameManager
的 Title Data 和 Player Data [空白_音频]
[空白_音频]
玩家点击天赋按钮,游戏界面显示天赋系统 天赋系统绑定了
TalentSkillPanelController 脚本
该脚本实现了天赋系统的相关功能 脚本的
OnEnable 函数 根据玩家的等级启用天赋技能遮挡面板
提示玩家等级不够,天赋技能尚未激活 游戏中每个天赋技能图标绑定了相应的点击响应函数
点击响应函数包含两个步骤 第一步,设置 CurrentSkillName
字段为相应的天赋技能名称,表示当前玩家操作的天赋技能 第二步,调用
UpdateTalentSkill 函数 更新游戏界面右侧显示的天赋技能详细信息
UpdateTalentSkill 函数首先显示天赋技能的名称
图标以及技能描述,其次使用 PlayFabSimpleJson
函数,获取并解析 GameInfo 类中保存的天赋技能数据
[空白_音频] 接着,根据 CurrentSkillName
字段获取玩家对应的天赋技能等级 并根据天赋技能数据,显示玩家当前等级和下一等级的加长数据
以及玩家升级天赋技能所需的金币数量
最后
根据玩家等级和天赋技能等级,为天赋技能提升按钮设置文本提示和点击事件
若玩家天赋技能已满级,按钮提示文本显示"已满级",禁用按钮的交互功能
若玩家等级未达到天赋技能的解锁等级,按钮提示文本显示"未解锁"
禁用按钮的交互功能,否则表示玩家可以提升该技能
按钮提示文本显示"提升",我们需要为提升按钮绑定响应函数
玩家点击提升按钮后,在弹出来的窗口提示玩家天赋技能的提升状况
接着判断玩家金币数是否足够 若金币不足,在窗口提示玩家"金币不足,提升失败",结束函数执行
若金币足够,在窗口提示玩家"天赋提升中……" 并使用 ExecuteCloudScript
函数调用 CloudScript 中的 UpgradeTalentSkill 函数 完成玩家天赋技能的提升。
ExecuteCloudScript 执行成功后 调用 OnGetUserData
函数,将玩家自定义属性 Player Data 保存在 PlayFab UserData 里的 UserData
字段中,提示玩家天赋技能提升成功 最后根据 CurrentSkillName
字段,更新天赋技能面板的显示 [空白_音频]
接下来我们回到 Unity
编辑器 下面演示天赋技能提升按钮的功能
玩家点击提升按钮,提升天赋技能等级
提升按钮点击后,在弹出的窗口显示"天赋提升中……"的提示文本
天赋提升成功后,文本显示"天赋技能提升成功"
我们点击返回按钮,关闭提示窗口,可以发现玩家的天赋技能等级发生了变化 我们再回到
PlayFab GameManager,查看玩家的自定义属性 Player Data 发现 Player Data
中存储的天赋技能等级数据也发生了更新 [空白_音频]
我们已经完成了玩家天赋系统效果的演示
我们需要同学们根据上述演示效果,完成玩家天赋系统类 TalentSkillPanel
脚本的编写 我们已经将关键函数的代码删除
请同学们根据作业提示完成代码的填写 同学们也可以根据
PPT 内容、 技术文档或者其他 PlayFab 请求的流程
完成玩家天赋系统的实现,以上 就是本节演示的全部内容