Unity3D UI Text得分数字增加的实例代码

时间:2021-05-20

Unity3D UGUI Text得分数字增加 代码

一、首先在Hierarchy中创建Text,并绑定脚本。

using UnityEngine;using System.Collections;using UnityEngine.UI; **//导入资源库**public class Score : MonoBehaviour { public static Text txt; **//定义静态变量名以用于其他脚本内的引用** public static float x = 0; void Start () { txt = GameObject.Find ("Text").GetComponent<Text> (); }}

二、在确定变量名指定的组建后,对得分时情况进行判断。

这里进入判断绑定刚体是否碰撞的脚本。

using UnityEngine;using System.Collections;public class collision2 : MonoBehaviour { public GameObject bullet; void OnCollisionEnter(Collision col) **//当刚体碰撞开始时** { if (col.gameObject.name.Equals ("Bullet(Clone)")) { Instantiate (bullet,col.transform.position,Quaternion.identity); Destroy(col.gameObject); Score.x += 1; **//刚体碰撞结束后得分加1** Score.txt.text = "Score : " + Score.x; //在text文本中显示Score : x } }

总结:

这里的代码示例是以制定刚体碰撞的开始时,进行得分判断。当Bullet(Clone)与脚本绑定的刚体碰撞,便得分数 X+1 ,并在Score脚本中的txt中加上转换成文本类型后的X。

补充:Unity3D 数字逐渐增加,一个数字动态变化到另一个数字(使用协程)

首先实现上述功能,需要使用“协程”这个功能。

协程

协程:控制代码等到特定的时机后再执行后续步骤.

先看Unity3D的函数执行顺序图

官网链接:https://docs.unity3d.com/Manual/ExecutionOrder.html

以上协程函数定义:(yield 开头的便是)

yield null:协程将在下一帧所有脚本的Update执行之后,再继续执行.

yield WaitForSeconds:协程在延迟指定时间,且当前帧所有脚本的 Update全都执行结束后才继续执行.

yield WaitForFixedUpdate:协程在所有脚本的FixedUpdate执行之后,再继续执行.

yield ponent<Text>().text = max.ToString(); StopCoroutine(Change()); }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章