unity脚本

文章目录

  • 脚本的创建
  • 修改脚本模板
  • 脚本中的变量
  • 脚本生命周期

脚本的创建

在assert文件夹下找到script文件夹,右键creat->C#script
unity脚本_第1张图片
双击即可通过visual studio打开
注:文件名和类名必须一致

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SquareBehaviourScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

以上代码是unity自动创建的模板。
注:创建的类继承自MonoBehaviour,如果需要将脚本附在物体上,必须继承这个类
在脚本附在物体上后,会创建一个对象,而不是直接在代码中修改。
所有物体都是gameObject类的对象,将脚本附在物体上,就是将脚本创建的对象交给gameObject创建的对象存储

也就是说如果在unity界面修改参数,不会改变脚本中的变量
属性在编辑器中不显示,通常脚本不写,构造函数一定不能写(不能再子线程中访问主线程成员)

修改脚本模板

右键Unity打开文件夹所在位置
unity脚本_第2张图片
按照以下路径打开文件夹,选择81号文件,打开修改即可
unity脚本_第3张图片

脚本中的变量

脚本创建的对象在unity界面不能直接修改,需要在变量前面加上[SerializeField]
意思是在编译器中显示私有变量
例如:

    [SerializeField]
    private int a=100;

变量A显示在了unity界面中
unity脚本_第4张图片
相对的[HideInInspector]表示隐藏unity界面中的公共变量

    [HideInInspector]
    public int c = 200;

[range(0, 100)]该语句可以设定变量的取值范围,例如:

    [range(0, 100)]
    public int b;

unity脚本_第5张图片

脚本生命周期

  1. Awake:
    当物体载入时立即调用一次,常用于在游戏开始时进行初始化。
  2. Start:
    物体载入且脚本对象启用时调用一次,常用于数据或游戏逻辑初始化,执行时机晚于 awake
    void Awake()
	{

	}
    // Start is called before the first frame update
    void Start()
    {
        
    }

你可能感兴趣的:(Unity,unity,游戏引擎,c#)