给漫画网站做推广,计算机网站建设书,网站过场动画,网络营销型网站Unity3D脚本介绍
脚本就是附加在游戏物体上用于定义游戏对象行为的指令代码。Unity支持C#高级编程语言。
1.语法结构
using 命名空间;
public class 类名#xff1a;Monobehaviour
{void 方法名#xff08;#xff09;{Debug.Log(调试信息.);print(调用…Unity3D脚本介绍
脚本就是附加在游戏物体上用于定义游戏对象行为的指令代码。Unity支持C#高级编程语言。
1.语法结构
using 命名空间;
public class 类名Monobehaviour
{void 方法名{Debug.Log(调试信息.);print(调用Debug.Log()方法.);}
}文件名与类名必须一致。写好的脚本附加到物体上才能执行。附加到物体的脚本类必须从MonoBehaviour类继承。
2.创建脚本
1.右键–Create–C# Script,即可创建脚本然后使用双击文件使用编程工具打开即可编写代码。生成代码如下若start和Update不需要使用应该删除然后在编写代码。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class g_demo : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}
}
3.脚本生命周期
1.编写代码如下,将该文件拖拽待摄像机上效果如下。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class g_demo : MonoBehaviour
{public int a 10;private int b 20;
} 2.通过上述修改a的值为a100则a的值为该面板中的值即上述效果其实是创建了一个对象。若需要在面板中显示private修饰的b的值需要添加修饰字段 [SerializeField] ,它允许在编辑器中显示私有变量。 3.隐藏变量 添加 [HideInspector]字段 修饰。
4.对于写继承至MonoBehaviour的脚本文件只需要写字段和方法。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class g_demo : MonoBehaviour
{public int a 10;[SerializeField]private int b 20;[HideInInspector]public int c 10;[Range(0, 100)]public int r;/** 属性在编辑器不能显示通常脚本中不需要写。* 构造函数也不需要写在Unity中创建脚本对象系统会创建子线程而在构造函数中初始化会出现无法访问主线程的资源Unity脚本对象而出错。* 在Unity中脚本是以一个对象的形式存在的与代码无关了。* 在脚本中只需要写字段和方法。*/public int a_Value{get { return this.a; }set { this.a value; }}
}
显示的效果
4.初始化
Awake唤醒当物体载入时立即调用一次常用于游戏开始前的初始化可以判断当满足某种条件执行此脚本this.enabletrue。OnEnable当可用每当脚本对象启动时调用Start开始物体载入且脚本对象启用时被调用一次。常用于数据或游戏逻辑初始化执行时机晚于Awake。如下启用脚本。 /*******************初始化**********************/private void Awake(){Debug.Log(Awake-- Time.timethis.name);}private void Start(){Debug.Log(Start-- Time.time this.name);}若某对象A需要在对象B后执行初始化则可以把B对象的写在Awake里A写在Start里面。