zoukankan      html  css  js  c++  java
  • Unity3D学习笔记(七) 类的基本函数学习

    (2012-07-27 22:13:38)

    1.unity3D中脚本类若不是MonoBehaviour子类,则不含回调函数,不可添加给游戏对象,即要自行在其他MonoBehaviour子类中实例化。
    因此对于想要随场景载入自动实例化,且在场景中时时存在的类,就算不想用到update等回调函数最好也作为MonoBehaviour的子类。
     
    2.unity3D的脚本类中即使是MonoBehaviour子类,如果不把其附加在GO身上,构造函数和Start()函数也不会被调用。
     
    3.对于MonoBehaviour子类,其本身的构造函数最好不要用,而去用void Start()等回调函数去初始化!
    问题:用写入和附加写入文件流测试过,脚本已经附在GO上。当VS中脚本修改后回到unity时,构造函数会被调用一次;当运行时,构造函数会被调用三次,文本出现三次附加字符串,但类中计数器却没连加三次;当发布(build)的时候又会被调用几次。假设脚本没有附在GO上,则以上问题不出现,且手动附上GO时会自动调用一次构造函数。
    但上述问题包括运行时出现的三次连续调用,对发布出来的游戏并没有影响,不会出现连续乱调用。但由于可能会干扰调试过程,因此不推荐使用。用void Start()时以上4个问题都不会出现。
    除了MonoBehaviour子类,在unity中出现的其他类,比如与所在文件同名的非MonoBehaviour子类还有MonoBehaviour子类所在文件的其他外部类,其构造函数并不会受到影响。
     
    4.脚本中MonoBehaviour子类,其构造函数和Start()函数是不一样。start()函数和awake()函数是由主线程(main thread)调用的,构造函数是由载入线程(loading thread,载入场景时用的)调用的。有部分Unity3D函数只能由主线程调用,比如PlayerPrefs的静态函数。
     
    5.Awake()函数先于Start()函数被调用,Update()在两者之后。
     
    6.OnGUI,update和fixedupdate都会循环被调用。
    ①fixedupdate固定时间间隔被调用,可以在Edit->Project Setting->time下面的Fixed Timestep修改间隔时间。常用于刚体运动(更真实)。
       update在每次渲染新的一帧的时候被调用,机器不同其帧速率不同,会使每秒调用次数也会不同。即使在同一台机器,不同秒帧速率也会因为场景需要渲染的三角面数量不同,而update被调用次数不同。
       OnGUI每帧被调用至少一次,据说一般会有多次(官网说的)。
    ②Time.deltaTime在fixedupdate使用,返回的值是Fixed Timestep,但是在update和OnGUI内使用返回的是complete the last frame的时间。但由于OnGUI一帧常被调用多次,因此会使函数返回结果多次相同。
    ③Time.timeScale可以用来做运动速度缓慢或加速的特效(勉强也可以来做暂停功能),当其为0时fixedupdate不会被调用,官网建议当设置为0和1之间(不包括01)时调用以下语句去改变fixedupdate调用的间隔,Time.fixedDeltaTime=0.02* Time.timeScale;,0.02是默认的fixedupdate调用间隔,用Time.fixedupdate代替应该会更好。
    7.Void OnMouseDown(){..}当鼠标在一个GUIElement或碰撞器(Collider)的游戏对象按下时执行内部代码。
      Void OnMouseOver(){..}当鼠标在一个GUIElement或碰撞器(Collider)的游戏对象按下动作抬起时执行内部代码。
      可以通过这个来改变显示颜色。

  • 相关阅读:
    noip宝藏
    [HNOI2008]玩具装箱TOY
    hdu 4372 Count the Buildings 轮换斯特林数
    bzoj 3000 Big Number 估算n!在k进制下的位数 斯特林公式
    自然数幂求和方法1:扰动法(求两次)
    斯特林数 学习笔记
    hdu 3625 Examining the Rooms 轮换斯特林数
    cf 472G Design Tutorial: Increase the Constraints 分块+压位/FFT
    chef and churu 分块 好题
    分块 学习笔记
  • 原文地址:https://www.cnblogs.com/mzdbskipop/p/3137740.html
Copyright © 2011-2022 走看看