【Unity开发小技巧】Unity随机概率扩展(概率可调控)
做了以下两张图有助于理解,如果想调控概率的话直接修改概率数组即可,实战案例:http://t.csdn.cn/P9QKJ
其实在做概率类相关的界面效果的时候,我们真实做法都是在刷新界面前已经把结果获取到了,然后根据结果去处理界面上的逻辑,一定要带着这个思想去理解以下内容
一.做加法
/**加*///rate:几率数组(%), total:几率总和(100%)// Debug.Log(rand(new int[] { 10, 5, 15, 20, 30, 5, 5,10 }, 100));public static int rand(int[] rate, int total){int r = Random.Range(1, total+1);int t = 0;for (int i = 0; i < rate.Length; i++){t += rate[i];if (r < t){return i;}}return 0;}
二.做减法
/**减*///rate:几率数组(%), total:几率总和(100%)// Debug.Log(randRate(new int[] { 10, 5, 15, 20, 30, 5, 5,10 }, 100));public static int randRate(int[] rate, int total){int rand = Random.Range(0, total+1);for (int i = 0; i < rate.Length; i++){rand -= rate[i];if (rand <= 0){return i;}}return 0;}
运行100次的结果:
【Unity开发小技巧】Unity随机概率扩展(概率可调控)相关推荐
- 【Unity开发小技巧】Unity打包IOS端APP
目录 一:安装IOS的模块并打包 1.Hub可以添加IOS模块 2.项目内部下载安装ISO模块 3.添加我们需要打包的场景 二:XCode工程内部设置并打包 1.mac商店安装XCode软件并打开xc ...
- 【Unity开发小技巧】FMS有限状态机详解
欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 在实际开发中很多时候对某类别的对象都需要有多种状态的管理和切换,这个时候我们就可以引入FMS状态机概念,有限状态机主要有三要素 ...
- 【Unity开发小技巧】模型单指旋转双指缩放功能代码(多种情况)
欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 1.pc端通过鼠标中键调整相机的FieldOfView属性的值(会发生形变不建议) void Update(){if (Inp ...
- 【Unity开发小技巧】AudioManager声音管理器
欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群,行业纵横颇多,每个人精通领域各异,旨在交流, 在项目里做音频管理的时候,我们往往是跟资源管理结合起来的,但是这里我们就单音频管 ...
- 【Unity开发小技巧】Unity日志输出存储
一般我们在做项目的反馈日志收集的时候都会根据提交的后台日志判断线后Bug产生的大概原因,直接帮我们缩小范围. #region 模块信息 // ***************************** ...
- 【Unity开发小技巧】iOS APP下载安装时,如果出现此时无法下载安装APP的字样时,一些解决思路
目录 一.OS系统和IOS版本更新 二:App-Store方式 三:Ad-hoc方式 四:In-house 方式 五: Architecture设置错误 六:App 支持的 iOS 系统版本,和当前 ...
- Silverlight 游戏开发小技巧:动感小菜单2
Silverlight 游戏开发小技巧:动感小菜单2 动感小菜单其实是想模仿Apple的菜单按钮设计制作,但是画虎不成反类犬,看起来有点别扭,昨天各位园友提了这方面的建议,感觉太硬如果加入动画可能更好 ...
- 一起谈.NET技术,Silverlight 游戏开发小技巧:动感小菜单
网页应用受限于自身的浏览器范畴,不能把华丽效果完全展示,正是因为如此,在网页上诞生了无数绚丽的设计,虽然动感程度和桌面应用无法比拟,但是在UI上却下足了功夫,用户体验可以说无以伦比,比如说小小的菜单, ...
- Silverlight 游戏开发小技巧:实现街霸4的选人界面
Silverlight 游戏开发小技巧:实现街霸4的选人界面 上一篇只是一个引子,用来说明Projection的基本操作,游戏研发都是用这些小的基本功能慢慢组合出来,其实这一篇仍然是Projectio ...
最新文章
- C++ vector容器
- WebSocket 网页聊天室的实现(服务器端:.net + windows服务,前端:Html5)
- 计算机的云是什么意思_高考倒计时!现在学什么专业好?答案是……
- k8s get命令:以yaml格式输出deployment对象
- C++归并排序(附完整源码)
- 1、django安装,问题,创建项目,编写第一个demo
- JSW Java_java服务安装(一):使用java service wrapper及maven打zip包
- 运放组成的吉他放大电路_如何通过5个步骤构建开放式硬件吉他放大器
- php和xml区别,php和XML
- java 内存接口_java中多态机制的内存解析、抽象类、接口
- 你还记得珠算的口诀吗?
- [转]关于java中的 sychronized 同步方法 与 同步块的理解
- SpringBoot控制层页面指定返回html前端页面
- Davids实操笔记:Spring Boot使用docker整合ElasticSearch ik分词搜索和拼音搜索
- pycharm怎么修改html的字体大小,怎么改pycharm的字体大小
- VMware虚拟机操作汇总
- 记录问题/usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory 解决
- 机器视觉——远心镜头(1)
- Python连锁药店营业额数据分析实验
- Java面试:数据库,Java,框架,前端技术。应有尽有