unity中如何生成整型随机数并在指定的label中显示?

unity中如何生成整型随机数并在指定的label中显示?,第1张

unity中生成整型随机数并在指定的label中显示的方法:

1、生成整型随机数:

var randomInt : Int

var minRan = 5

var maxRan = 15

randomInt = Random.Range(minRan, maxRan)

2、显示label设置:

var style : GUIStyle

function OnGUI()

{

GUI.Label(Rect(650, 650, 300, 50), randomInt , style)

}

碰撞事件可以用OnTriggerEnter或者OnCollisionEnter函数

然后在函数内判断条件 如果满足xxx条件就

显示或者创建出一个label 这个label可以用UGUI的image+text做

选择题也可以用UGUI的Toggle+togglegroup做

然后在按钮点击事件中判断回答是否正确然后再做动作

一、任意建两个场景,分别命名为testScene1、testScene2,两个场景中分别设置“切换场景”按钮,便于立昂场景之间的相互切换,注意,两个切换按钮加载的的场景均是”loadScene“;建loadScene场景,用于处理加载进度条。

二、导入NGUI资源包,在Unity3D菜单栏中选中NGUI-Open-Prefab Toolbar,在Prefab Toolbar窗口中,选中Control - Colored Progress Bar拖拽至Hierarchy面板,修改名字为”Loading“。

三、在Hierarchy面板,Loading添加子物体Label,Label的Context内容为“loading”,适当调整字体大小。创建脚本LoadingScripts,UI Root的摄像机Camera添加组件LoadingScripts。

四、LoadingScripts脚本代码如图所示。

objProcessBar.GetComponent<UISlider>().value = acOp.progress;

异步加载场景testScene2的速度直接决定了进度条的实际进展速度。

五、加载场景loadScene一闪而过,迅速的就跳转到了场景testScene2。完全无法看到进度条进展的过程。上述代码简单实用性强,非常适合加载大场景大资源等耗时长的情况。

六、为了满足小资源/场景加载时也显示出进度条,使用如下图所示代码。AsyncOperation另一个重要的属性AsyncOperation.allowSceneActivation

acOp.allowSceneActivation = false;

acOp.allowSceneActivation = true;

当acOp.allowSceneActivation = false即使场景已经加载完成,也不会自动跳转,直到acOp.allowSceneActivation = true;

七、实验一下效果,进度条进展效果良好,仔细观察进度条1%、2%、3%到100%,完全按照i++的代码设定执行。这时进度条的额进展速度与异步加载场景的速度无关。

八、之所以能够得到满意的效果,每一个百分比的进度都能展示在眼前,是因为这个脚本中还有一个重要的语句。yield return new WaitForEndOfFrame();

九、将该语句移到while循环语句的大括号外面,再次运行Unity3D,看一下效果,会发现加载场景loadScene再次一闪而过。这是因为这里的while循环只处理了一个判断i 是否小于 100,一个i++,和一个赋值语句,电脑的执行速度非常快,快的有时人眼无法识别。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11494230.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存