[Unity菜鸟] 产生各不相同的随机数
1. 网上很多方法都说用时间种子来解决,但是在极短的时间内,这种方法没效
Random r = new Random(DateTime.Now.Millisecond); Random Counter = new Random(unchecked((int)(DateTime.Now.Ticks >> ctr))); Random Counter = new Random(System.Guid.NewGuid().GetHashCode());
2. 用Random结合Hashtable才完美实现我想要的效果
以下是随机生成3个小于3的各不相同正整随机数的代码,生成的结果是0 1 2, 2 0 1等,而不会出现像 0 0 1 这样有重复数的情况
string testStr;
void OnGUI()
{
if (GUILayout.Button("产生随机数"))
{
testStr = ""; Hashtable hashtable = new Hashtable();
System.Random rm = new System.Random();
int RmNum = 3;
for (int i = 0; hashtable.Count < RmNum; i++)
{
int nValue = rm.Next(3);
if (!hashtable.ContainsValue(nValue))
{
hashtable.Add(nValue, nValue); //Add(key,value)
testStr += nValue + " ";
}
}
}
GUILayout.Label(testStr);
}
[Unity菜鸟] 产生各不相同的随机数的更多相关文章
- [Unity菜鸟] 协程Coroutine
1.协程,即协作式程序,其思想是,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协程处于休眠状态. unity中StartCoroutine()就是协程,协程实际上是在一个线程中, ...
- [Unity菜鸟] Unity Web Player 相关问题 (待完善)
1. 发布网页版Unity自适应网页大小 发布网页版,Unity3D自适应网页大小.这个问题困扰了我很长时间,今天终于把他解决了,给大家分享一下. 这里用Uinty4.0发布网页版,我去掉了里面的标题 ...
- [Unity菜鸟] Unity读XML
1. 在Unity中调试可行,发布成exe可行,发布成web不行 Application.dataPath 在Unity中调试是在“..Assets”文件夹下, 发布成exe文件是在“..yourNa ...
- [Unity菜鸟] 笔记2 —— 问题篇
记录在学习<Unity 3.x 游戏开发 经典教材>时遇到的各种问题与笔记 1. 初始不能降低Terrain的高度,需要到Terrain设置的第二个按钮中将Height从0调高 (注意:最 ...
- [unity菜鸟] 笔记1 —— 函数篇
SendMessage() 调用其他物体中的指令,先在脚本中编写一个自定义的函数,然后使用SendMessage()命令来调用那个物体上的命令 //①将以下函数附给target对象 void Rena ...
- [Unity菜鸟] 摄像头
1. 连接外置摄像头 2. Unity3D中调用外接摄像头,并保存为图片文件
- [Unity菜鸟] Final IK
由于本人英文较烂,边翻译用户手册边学习. 用户手册 IK Components Final IK 包含许多强大高速的IK组件 Aim AimIK solver是一个对CCD算法(cyclic co ...
- [Unity菜鸟] 射线
1. 射线用 Physics.Raycast 都可以判断,用 collider.Raycast 只在某些(不明)情况下可以 void Update() { Ray ray = Camera.main. ...
- [Unity菜鸟] Character控制移动
1. 给角色加角色控制器组件,然后用以下代码可以控制角色移动和跳跃 float speed = 6.0f; float jumpSpeed = 8.0f; float gravity = 20.0f; ...
随机推荐
- Vim复制粘贴
用了快一年Vim了,今天想要将vim里的一句话复制到浏览器里,结果捣鼓了半天.汗! 解决方案: 在vim中按“V”进入可视模式,选中要复制的文字 接下来要按3个键“+y(引号.加号.字母y),这样要复 ...
- PHP流程控制语句下
ok,继续搞. while循环: while(expr){ 程序块: } 条件expr成立执行程序块,否则结束. do while循环:do while循环比while循环要多循环一次,它要先执行程序 ...
- Oracle 动态视图2 V$LOCKED_OBJECT
v$locked_object视图列出当前系统中哪些对象正被锁定 Column Datatype Description XIDUSN NUMBER 回滚段号 XIDSLOT NUMBER 槽号 XI ...
- 每日一“酷”之heapq
作用:heapq模块实现一个适用于Python列表的最小堆排序算法 堆(heap)是一个属性数据结构,其中子节点与父节点是一种有序关系.二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全 ...
- 正确处理WPF中Slider值改变事件的方式
最近在用WPF数据绑定重写一下播放器项目时遇到的关于Slider的问题,在窗体透明度调节和播放进度调节上用了Slider控件.调节窗体透明度我是 这么想的:将窗体的Opacity属性的值与Slider ...
- WPF-控件-层级控件-TreeView
<?xml version="1.0" encoding="utf-8" ?> <Data xmlns=""> &l ...
- 【nodejs】 文件系统(fs) 之读写文件
//写入文件 var data = "hello world"; fs.writeFile('c:\\a.txt', data, 'ascii', function(err) { ...
- iOS 进阶 第四天(0329)
0329 UIScrollView的常见属性及其解释 常见属性,如下图: 具体解释,如下图: 喜马拉雅设置的例子 代码: 效果
- [转载+原创]Emgu CV on C# (六) —— Emgu CV on Canny边缘检测
Canny边缘检测也是一种边缘检测方法,本文介绍了Canny边缘检测的函数及其使用方法,并利用emgucv方法将轮廓检测解算的结果与原文进行比较. 图像的边缘检测的原理是检测出图像中所有灰度值变化较大 ...
- 3144:[HNOI2013]切糕 - BZOJ
题目描述 Description 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B.出于美观考虑,小 A 希望切面能尽量光滑且和谐.于是她找到你,希望你 ...