Unity 游戏物体的显示隐藏以及Time类

举报
陈言必行 发表于 2021/08/14 01:07:06 2021/08/14
【摘要】 组件的激活和隐藏: 使用渲染器(Renderer)中的enable属性: public class Demo4 : MonoBehaviour { public MeshRenderer rander; //在面板中拖拽赋值 void Update () { if (Input.GetMouseButtonDown(0)) { //鼠标点击切换状态 rande...

组件的激活和隐藏:

使用渲染器(Renderer)中的enable属性:


  
  1. public class Demo4 : MonoBehaviour {
  2. public MeshRenderer rander; //在面板中拖拽赋值
  3. void Update ()
  4. {
  5. if (Input.GetMouseButtonDown(0))
  6. {
  7. //鼠标点击切换状态
  8. rander.enabled = !rander.enabled;
  9. }
  10. }
  11. }

 

物体的激活和隐藏;

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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。