Unity启动研究 关于 类变量,start函数,update函数

来源:互联网 发布:linux 脚本 while 死 编辑:程序博客网 时间:2024/06/14 05:14

          最近使用unity编写代码的时候,发觉顺序不太理解;

        先看代码: 

using UnityEngine;using System.Collections;public class Player : MonoBehaviour {//不会在此处赋值public float m_speed;protected Transform m_transform;void Start () {m_transform = this.transform;Debug.Log("启动了Start   m_speed="+m_speed);m_speed = 8;Debug.Log("启动了Start   m_speed="+m_speed);}void Update () {Debug.Log("启动了Update");//纵向移动距离float movev = 0 ;//水平移动距离float moveh = 0 ;//按上键if(Input.GetKey(KeyCode.UpArrow)){   movev -= (m_speed*Time.deltaTime);Debug.Log("movev : "+ movev.ToString()+" Time.deltaTime : "+Time.deltaTime+" m_speed="+m_speed);}if(Input.GetKey(KeyCode.DownArrow)){movev +=m_speed*Time.deltaTime;}if(Input.GetKey(KeyCode.LeftArrow)){moveh += m_speed*Time.deltaTime;}if(Input.GetKey(KeyCode.RightArrow)){moveh -= m_speed*Time.deltaTime;}//移动gameObject.transform.Translate(new Vector3(moveh,0,movev));//gameObject.transform.Translate(new Vector3//m_transform.Translate(new Vector3(new Vector3(moveh,0,movev)));}}


 再看log :

    

   

  以上所看  m_speed 在类变量中已经赋值了,但在log中start并没有赋值, 所以在类变量中赋值是无效的,但在start中赋值有效,先启动start,再启动update



0 0
原创粉丝点击