首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Unity SKFramework框架(十二)、Score 计分模块

  • 25-03-03 16:43
  • 3739
  • 12631
blog.csdn.net

目录

一、配置文件

1.新建

2.编辑

3.路径

二、创建分数

1.创建单项分数

2.创建分数组合

三、获取分数

四、取消分数

五、计算总分


一、配置文件

1.新建

通过右键/Create/Score Profile创建一个分数配置文件

2.编辑

首先在ScoreIDConstant脚本中编写代表分数项ID的int常量

填写配置文件

ID为分数项ID,Description为分数项描述信息,Value为分数项分值。

3.路径

模块内默认的配置文件加载路径为Resources/Score Profile,也可以在代码中进行更改

  1. //加载配置文件
  2. Resources.Load("Score Profile");

二、创建分数

1.创建单项分数

使用Create方法创建单项分数,参数传入分数项ID

  1. using UnityEngine;
  2. using SK.Framework;
  3. public class Example : MonoBehaviour
  4. {
  5. private void Start()
  6. {
  7. Score.Create(ScoreIDConstant.QUESTION_1);
  8. }
  9. }

2.创建分数组合

使用CreateGroup方法创建分数组合,第一个参数传入分数组合的命名;第二个参数传入计分的方式,有两种计分方式,Additive表示分数是累加的,Mutually Exclusive表示组合内分数项之间是互斥的;后面的参数均为分数项ID,为可选参数。

  1. using UnityEngine;
  2. using SK.Framework;
  3. public class Example : MonoBehaviour
  4. {
  5. private void Start()
  6. {
  7. Score.CreateGroup("选择题", ValueMode.Additive,
  8. ScoreIDConstant.QUESTION_1,
  9. ScoreIDConstant.QUESTION_2,
  10. ScoreIDConstant.QUESTION_3,
  11. ScoreIDConstant.QUESTION_4);
  12. }
  13. }

三、获取分数

创建分数项时会返回对应数量的标识,通过这些标识可以获取、取消分数。

  1. using UnityEngine;
  2. using SK.Framework;
  3. public class Example : MonoBehaviour
  4. {
  5. private void Start()
  6. {
  7. //创建分数组合 记录标识
  8. string[] flags = Score.CreateGroup("选择题", ValueMode.Additive,
  9. ScoreIDConstant.QUESTION_1,
  10. ScoreIDConstant.QUESTION_2,
  11. ScoreIDConstant.QUESTION_3,
  12. ScoreIDConstant.QUESTION_4);
  13. //通过标识获取分数
  14. Score.Obtain("选择题", flags[0]);
  15. }
  16. }

 上例中表示获取"选择题"分数组合第一个分数项的分值,也就是ID为QUESTION_1的分数项的分值。

四、取消分数

假如想取消一个已经获得的分数项分值,通过Cancle方法实现

  1. using UnityEngine;
  2. using SK.Framework;
  3. public class Example : MonoBehaviour
  4. {
  5. private void Start()
  6. {
  7. //创建分数组合 记录标识
  8. string[] flags = Score.CreateGroup("选择题", ValueMode.Additive,
  9. ScoreIDConstant.QUESTION_1,
  10. ScoreIDConstant.QUESTION_2,
  11. ScoreIDConstant.QUESTION_3,
  12. ScoreIDConstant.QUESTION_4);
  13. //通过标识获取分数
  14. Score.Obtain("选择题", flags[0]);
  15. //取消分数
  16. Score.Cancle("选择题", flags[0]);
  17. }
  18. }

如图所示,Obtain获取分数后再通过Cancle取消分数,获得的分值已经取消

五、计算总分

通过GetSum方法获取已经获得的总分值

  1. using UnityEngine;
  2. using SK.Framework;
  3. public class Example : MonoBehaviour
  4. {
  5. private void Start()
  6. {
  7. //创建分数组合 记录标识
  8. string[] flags = Score.CreateGroup("选择题", ValueMode.Additive,
  9. ScoreIDConstant.QUESTION_1,
  10. ScoreIDConstant.QUESTION_2,
  11. ScoreIDConstant.QUESTION_3,
  12. ScoreIDConstant.QUESTION_4);
  13. //通过标识获取分数
  14. Score.Obtain("选择题", flags[0]);
  15. //获取总分
  16. float sum = Score.GetSum();
  17. }
  18. }

另外可以通过GetGroupSum方法获取一个分数组合中已经获得的总分值

  1. using UnityEngine;
  2. using SK.Framework;
  3. public class Example : MonoBehaviour
  4. {
  5. private void Start()
  6. {
  7. //创建分数组合 记录标识
  8. string[] flags = Score.CreateGroup("选择题", ValueMode.Additive,
  9. ScoreIDConstant.QUESTION_1,
  10. ScoreIDConstant.QUESTION_2,
  11. ScoreIDConstant.QUESTION_3,
  12. ScoreIDConstant.QUESTION_4);
  13. //通过标识获取分数
  14. Score.Obtain("选择题", flags[0]);
  15. //获取一个分数组合的总分
  16. float sum = Score.GetGroupSum("选择题");
  17. }
  18. }

当代野生程序猿
微信公众号
Unity开发日志分享,欢迎关注/留言/私信。
注:本文转载自blog.csdn.net的CoderZ1010的文章"https://blog.csdn.net/qq_42139931/article/details/124960835"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top