Unity学习:Unity脚本

Unity组件开发:

Unity⼯程结构:

  • Assets 存储⼯程所需的所有资源⽂件
  • Library ⼯程所需要的所有资源库(类库)(⾃动⽣成的)
  • ProjectSetting ⼯程设置⽂件
  • Temp 临时⽂件

Unity开发框架:
项⽬->场景->游戏对象->组件->属性

面向组件开发思想

Transform组件:

  • 特点:只要是游戏对象,必须

  • 有这个组件,有且只有⼀个功能

    1. 控制游戏对象的变换
    2. 包含⽗⼦关系的内容
  • 关于坐标:

    • 世界坐标 以场景的原点为原点
    • 本地坐标(相对于⽗物体的坐标) 以⽗物体的位置为原点
  • 关于旋转:

    • 世界旋转
    • 本地旋转(相对于⽗物体的旋转)
  • 在Transfrom⾯板上

  • 显示的是相于父物体的变幻
  • 子物体世界坐标=子物体本地坐标+父物体的世界坐标
  • 子物体世界旋转=子物体本地旋转+父物体的世界旋转
  • 子物体世界缩放=子物体本地缩放*父物体的世界缩放

脚本:

  • Unity脚本支持
    • C# ⽀持创建
    • JS 2017之后不⽀持创建
  • 给游戏对象添加脚本
    • 组件的最快捷⽅式
      1. 选中要添加脚本组件的游戏对象
      2. 点击AddComponent按钮
      3. 直接在搜索框⾥输⼊要添加的脚本名称
      4. 直接按两下回⻋即可
      5. 唯⼀的缺点:脚本⽂件是在Assets⾥的,需要后期挪到Scripts⽂件夹⾥
  • Unity脚本组件
    • 可以将该脚本挂载到游戏对象身上
    • 作为该对象的⼀个脚本组件
    • 前提条件1:必须直接或间接继承MonoBehaviour
    • 前提条件2:⼀个脚本⽂件中必须有⼀个类和⽂件名⼀致
    • 前提条件3[规范]:创建的脚本不要和系统或Unity的类同名
  • Unity脚本(非组件)
    • 可以不继承MonoBehavior
    • 也可以类名可以不和脚本名⼀致

Unity脚本

Unity脚本类:

  • Runtime
    在程序运⾏的时候执行的

  • Editor
    在程序未运⾏的时候执行

  • Unity插件

    在Unity当中如何查看API
    Manual⼿册 面板内容
    
  • API 脚本内容
    Monobehaviour类 脚本组件⼀定要继承此类

  • Unity脚本⽣命周期

    • 回调函数执⾏的前提 脚本必须以组件的⽅式挂载到⼀个游戏对象身上

9个回调:

  • 游戏开始时调⽤⼀次:
    • Awake()
      描述:游戏开始后第⼀个调用的回调函数,调用⼀次
      特点:当脚本组件处于不可⽤时,依然执⾏。
    • OnEnable()
      描述:每当脚本组件被设置为可⽤时调⽤⼀次
    • Start()
      描述:在OnEnable之后调⽤,但在整个游戏过程中,只会执⾏⼀次
  • 持续调⽤
    • FixedUpdate()
      每隔⼀定的时间间隔调⽤⼀次,默认时间间隔0.02s
    • Update() 每帧调⽤⼀次
    • LateUpdate() 每帧调⽤⼀次
    • OnGUI() 每帧调⽤两次
  • 收尾
    • OnDisable() 每当脚本组件被设置为不可⽤时调⽤⼀次
    • OnDestroy() 当脚本组件被销毁,或整个游戏对象销毁时调⽤⼀次

常⽤调试方法:

  • 打印
    Debug.Log() 引⽤UnityEngine
    print Monobehaviour的⽅法
  • 划线
    DrawLine(Vector3 start, Vector3 end)
    DrawRay(Vector3 start, Vector3 dir)

Monobehaviour继承关系
脚本—>Monobehaviour—>Behaviour—>Component—>Object

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容