您当前的位置: 首页 >  unity

野奔在山外的猫

暂无认证

  • 3浏览

    0关注

    85博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Unity 题型】脚本开发

野奔在山外的猫 发布时间:2021-06-20 17:53:35 ,浏览量:3

知识涉及:Unity

脚本生命周期 要点

以下关于密封类的说法,正确的是

A. 密封类可以用做基类 B. 密封类可以使抽象类 C. 密封类永远不会有任何派生类 D. 密封类或密封方法可以重写或继承

答案解析:

  • sealed关键字密封该类,不可派生或继承该类。

关于MonoBehavior.LateUpdate函数描述错误的是

A. 当 MonoBehaviour类 被启用后,每帧调用一次 B. 常被用于处理 Rigidbody 的更新 C. 在所有 Update函数执行后才能被调用 D. 常被用于实现跟随相机效果,且目标物体的位置已经在Update函数中被更新

答案解析:

  • LateUpdate常用于处理摄像机的跟随
  • FixedUpdate常用于处理物理更新

若要使一个物体在被销毁时触发一个动作,可以放在____系统方法中?

A. OnDestroy B. OnDisable C. OnApplicationQuit D. OnTriggerExit

答案解析:

  • OnDestroy:脚本被销毁时调用
  • OnDisable:组件被禁用时调用
  • OnApplicationQuit:在进行退出操作时调用,如退出游戏
  • OnTriggerExit:在触发结束时调用

物体与脚本对象在启用状态下,OnEnable,Awake,Start执行顺序是

A. Awake -> OnEnable -> Start B. OnEnable -> Awake -> Start C. Awake -> Start -> OnEnable D. Start -> Awake -> OnEnable

答案解析:

  • Unity生命周期: Awake -> OnEnable -> Start -> FixedUpdate -> Update -> LateUpdate -> OnGUI -> OnDisable -> OnDestroy -> OnApplicationQuit

移动相机动作在___函数里 A. Awake B. LateUpdate C. Update D. OnMouseButton

答案解析:

  • LateUpdate中执行,在Update之后执行,防止出现一帧未显示物体对象的情况。

Component 要点

如何为新创建的物体添加一个脚本?

A. gameObject.AddComponent B. AddComponentMenu C. RequireComponent D. Component.GetComponent

答案解析:

  • AddComponentMenu:通过Unity菜单栏下 Component -> Scripts 中添加脚本
  • RequireComponent:需求指定脚本,若当前对象上不存在该脚本,控制台会报错提示该对象缺少该脚本或组件。
  • D项不存在

Unity的C#脚本中下列哪个方法能够获取一个物体所有的子物体元素集合?

A. GetComponentInChildren() B. GetComponentsInChildren() C. GetComponent() D. GetComponents()

答案解析:

  • GetComponentInChildren:返回查到的子对象群中第一个组件或脚本
  • GetComponentsInChildren:返回查到子对象群中所有的关于这个脚本或组件(数组)
  • GetComponent/GetComponents同上,不过仅从该脚本所挂载物体上查找。

某 GameObject 有一名为 MyScript 脚本,该脚本内有一名为 DoSomething()函数,则如何在该 GameObject 的另一个脚本中调用该函数?

A. GetComponent().DoSomething() B. GetComponent().DoSomething() C. GetComponent.Call("DoSomething") D. GetComponent.Call("DoSomething")

答案解析

  • 在同一物体上获取脚本:GetComponent()
  • 在不同物体上获取脚本:XXX.GetComponent()

Transform 要点

以下选项中,哪个可以将游戏对象绕z轴逆时针旋转90度?

A. transform.rotation = Quaternion.Euler(0, 0, 90); B. transform.rotation = Quaternion.Angle(0, 0, 90); C. transform.Rotate(new Vector3(0, 0, 90)); D. transform.Rotate(new Vector3(90, 0, 0));

答案解析:

  • A项,无论如何旋转,都从世界坐标零点沿Z轴旋转。
  • B项,Quaternion.Angle()计算两四元数夹角
  • D项,绕X轴旋转90°

GameObject 要点

如何通过脚本来删除其自身对应的 GameObject?

A. Destory(gameObejct); B. this.Destroy(); C. Destroy(this); D. 上述三项均可以

答案解析:

  • Destroy(gameObject)效果=this.Destroy(gameObject),可省略this
  • B项缺少指明销毁对象
  • Destroy(this):指销毁该脚本

如何销毁一个UnityEngine.Object及其子类?

A. 使用Destroy()方法 B. 使用Delete()方法 C. 使用Destruction()方法 D. 使用Dispose()方法

答案解析:

  • 暂无

(多选题)下列对Transform.Find()和GameObject.Find() 方法描述正确的是

A. Transform.Find()GameObject.Find()都不能找到未被启用的物体 B. Transform.Find()GameObject.Find()找到的都是物体的 Transform组件 C. Transform.Find()GameObject.Find()都是用物体名称来查找 D. Transform.Find()GameObject.Find()都支持路径查找

答案解析:

  • Transform.Find():可找到未被启用物体的 Transform组件
关注
打赏
1659777066
查看更多评论
立即登录/注册

微信扫码登录

0.0369s