• C#脚本


    • 脚本是附加在游戏物体上用于定义游戏对象行为的指令代码
    • 附加到游戏物体的脚本类必须从MonoBehaviour类继承
    • 脚本初始化:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Demo01 : MonoBehaviour
    {
        // Start is called before the first frame update
        private void Start()
        {
            
        }
    
        // Update is called once per frame
        private void Update()
        {
            
        }
    }
    
    
    • 脚本生命周期/必然事件/消息:unity脚本从唤醒到销毁的过程
    • 脚本通常不写属性和构造函数,只写字段和方法
    • 不写构造函数因为1.脚本是子线程,不能访问主线程成员
      2.unity会多次在运行期间创建对象,与构造函数初衷不符
      3.脚本生命周期
        //序列化字段,在编译器中显示私有变量
        [SerializeField]
        private int a = 100;
        //隐藏字段
        [HideInInspector]
        public int b = 200;
        //范围
        [Range(0,100)]
        public int c;
    //-------------------------生命周期--------------------------------------
        //Awake先执行 创建游戏对象,立即执行
        private void Awake()
        {
            Debug.Log("Awake" + Time.time.ToString()) ;       
        }
        //Start后执行  创建游戏对象,脚本启用,才执行
        private void Start()
        {
            Debug.Log("Awake" + Time.time);
        }
        //每隔固定时间0.02s修改一次 用于物体运动 不会受到渲染影响
        private void FixedUpdate()
        {
            
        }
        //渲染帧执行 适合处理游戏逻辑
        private void Update()
        {
            
        }
        //延迟更新
        private void LateUpdate()
        {
            
        }
        //-------------------------鼠标事件-----------------------------------
        /*OnMouseEnter
         * OnMouseOver
         * OnMouseExit
         * OnMouseDown
         * OnMouseUp
         */
    
        //-------------------------场景渲染-----------------------------------
        //相机可见
        static void OnBecameVisible()
        {
    
        }
        //相机不可见
        static void OnBecameInbisible()
        {
    
        }
        //-------------------------结束阶段-----------------------------------
        //OnDisable 当不可用
        //OnDestroy 当销毁
        //OnApplicationQuit 当程序结束
    

    4.生命周期
    5.print方法来自父类 MonoBehaviour 仅限在脚本中使用
    6.1-8 单帧调试:启动调试 运行场景 暂停游戏 加断点 单帧执行 结束调试
    7.深度优先遍历子组件

    if (GUILayout.Button("GetComponents"))
            {
                var allComponent = this.GetComponentsInChildren<MeshRenderer>();
                foreach(var item in allComponent)
                {
                    Debug.Log(item.GetType());
                }
            }
    
  • 相关阅读:
    弹出窗口的几种方法
    FCKeditor2.2+ASP.NET2.0不完全攻略
    如何运用 Form 表单认证 ?
    DataGrid的多种格式化显示方法
    如何显示在线人数,和所在位置?? [转自作者:子扬]
    备份和恢复Active Directory
    如何在vs.net里调试脚本 《一》
    初学ASP.Net时一些备忘的东西
    ASP.NET在线用户列表精确版——解决用户意外退出在线列表无法及时更新问题
    小技巧(一)分离字符串string str="(1,10,100,1000,10000,)";
  • 原文地址:https://www.cnblogs.com/treblez/p/13503950.html
Copyright © 2020-2023  润新知