随堂笔记1

脚本:脚本是附加在游戏物体上,用于定义游戏对象行为的指令代码//.cs的文本文件

unity支持的三种高级语言:C#,JavaScript,Boo script(unity4以前支持,现在已经不支持了)

现在大部分都是用c#进行脚本的编写。

注意事项

1.文件名必须与类名一致

2.写好的脚本必须附加到物体上才能执行

3.附加到游戏物体上的脚本类必须从MonoBehaviour类继承。

(所谓脚本就是一个类,当脚本往物体上挂的时候,就创建了一个对象,物体也是GameObject类的对象)

.脚本的生命周期/Message/必然事件(具体见之前的笔记,这里只显示一些特殊情况的笔记)

字段->方法(一般脚本中不写构造函数,方法,因为编辑器中不显示)

这里补充几个小笔记

1.当变量从private改为public时才可在unity中成为可以修改的变量。

2.当在VS中初始化给变量一个值,在unity中进行修改,最后调用时实际上为修改过后的值,在VS中实际上只起到一个初始化的作用。

3.特性

        序列化字段[SerializeField]:在编辑器中显示私有变量

        在编辑器中隐藏字段[HideInInspector]

        设置范围[Range(范围)]

public class NewBehaviourScript1 : MonoBehaviour
{
    // Start is called before the first frame update
    [SerializeField]
    private int a=15;
    [HideInInspector]
    public int b=15;
    [Range(0,100)] 
    public int c=15;   
}
 

4.当多个游戏物体挂载同一个脚本时,所有先执行Awake,之后再全部执行Start ........(他是个单线程过程),而物体先执行同一个方法时执行顺序不与Sense中的顺序有关,可以改动但一般不建议改动,如果要突出先后顺序建议放到不同方法中。

5.

private void Awake()
    {
        Debug.Log("awake");
    }
   
    private void Start()
    {
        Debug.Log("start");
    }

在这段代码中如果我们先将游戏物体中的脚本警用掉,awake仍然先调用一次,start不调用,当我们再次启用脚本时,start才会被调用。 

6.Awake:创建游戏对象--->立即执行(1次

   Start:创建游戏对象--->脚本启用--->执行(1次

7.Awake可以判断满足某条件时启用脚本,因为必定调用且最先调用。

8.FixedUpdate适合让物体做物理运动,因为他是固定时间,他不会受到“渲染”影响。(每帧渲染物体量不同所以渲染时间不固定,也会因为机器性能不同渲染间隔也会不同,而FixedUpdate不会受到影响

9.Update每次渲染时执行,适合用于处理游戏逻辑。

10.LateUpdate与Update同一帧执行,但是Update执行,适用于跟随逻辑。(相机与player的跟随逻辑)

11.当用输入事件(MouseDown等)方法时,必须使用碰撞器(Collider)组件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值