Unity 游戏物体的显示隐藏以及Time类
组件的激活和隐藏:
使用渲染器(Renderer)中的enable属性:
-
public class Demo4 : MonoBehaviour {
-
-
public MeshRenderer rander; //在面板中拖拽赋值
-
-
void Update ()
-
{
-
-
if (Input.GetMouseButtonDown(0))
-
{
-
//鼠标点击切换状态
-
rander.enabled = !rander.enabled;
-
}
-
}
-
}
物体的激活和隐藏;
gameObject.SetActive(bool b);
一旦物体被隐藏(gameObject.SetActive(false);),则其无法通过通过(gameObject.SetActive(true);)再显示出来,因为一旦被false之后,表示这个物体已经不在场景中了,用代码GameObject.Find();也找不到 ,可以理解为物体身上代码不会执行,组件也没有作用
解决办法;
把脚本挂载在别的物体身上,操作要隐藏的物体,这样就可以通过gameObject.SetActive(true);再次激活
判断物体本身或者其父类物体是否可见:
gameObject.activeinhierarchy; //判断组件是否可见,(只读的)
鼠标的光标显示与隐藏:
Cursor.visible = false;
Cursor.visible = true ;
相应事件 — Onenable , OnDisable , OnDeStroy (生命周期函数)
三个响应事件在项目中运行时,是实时监控的
当结束项目运行时,Ondisable 与 OnDestroy 都会被执行一次
前两个针对的是游戏对象,最后一个针对的是脚本本身
Time 类及时间控制
Time时间类成员变量介绍
Time Manager 时间管理器
Time.time 从游戏开始到现在时间 (只读)
Time.deltaTime 以秒计算,完成最后一帧的时间 指两帧之间的时间间隔
Time.fixedTime 最近的FixedUpdate 已经开始的时间,这是以秒计算自游戏开始的时间
Time.Scale 传递时间的缩放,可以英语缓慢或加速效果 若为0 则表示静止
Time;.realtimeSinceStratup 自从游戏开始实时时间
注:scaleTime影响的是Time,time,影响的时间,不会影响realtimeSinceStratup
timeSincelevelLoad 在同一场景中与time值是一样的,当前切换场景,这个时间会重新计算
在处理逻辑是使用Update效果更好
frameCount 记录的是所有的帧数量值
realtimeSinceStartup 与Time.time 一样记录项目运行时间,不同的是Time.time 记录项目运行时间,而realtimeSinceStartup 记录的是所有时间,包括项目暂停,时间也同样记录
在Unity中,Time类是一个非常重要常用的类。我们可以通过Time类来获取和时间有关的信息,可以用来计算帧速率,可以调整时间的速度等功能。
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/76915068
- 点赞
- 收藏
- 关注作者
评论(0)