官术网_书友最值得收藏!

The Start(), Update(), and Awake() methods and the execution order

The Start(), Update(), and Awake() methods are called automatically. The Start() method is called on the frame when the script is enabled. For most of our components, this will be when you press the Start button in Unity.

The Awake() method is called just before the Start() method. That gives a very convenient place to set up code if you have any. The Update() method is very specific. It's called on every frame if the component is enabled. It's very useful for observing user keyboard actions, for example. As you can see in our script, in Line 16, we are checking on every frame to know whether the user has pressed the Enter key.

Let's create a new C# Script and call it LearningMethods. As you can see, the Start() and Update() methods are added automatically when you create a new script. To test them all, all that we need to do is add the Awake() method and a few other useful lines to print something on the Console panel.

As you already know, our three methods should be called in a very specific order. Add the LearningMethods component to some GameObject in the Unity scene and press Play. Then stop after 2 seconds. Keep an eye on the Console tab:

Wow! A lot of stuff on the Console tab? Why? Scroll up to the very top of the Console list. We can observe that Unity has printed the Debug:Log information from our Awake() method, followed by the Start() method. Then the madness starts. Unity prints tons of messages from the Update() method. We know why! Update() is called on every frame, so Unity will execute the lines of code within Update() forever, for every frame it renders.

You can, of course, print other information to Console—not just messages. Replace line 18 with this line:

Debug.Log(Time.time);

Press Play in Unity. You will notice that the time, in seconds, is printed, after you have pressed Play button. It's fun, isn't it? Maybe not. Don't worry; we will get into much more interesting programming after we cover dot syntax.

主站蜘蛛池模板: 樟树市| 隆尧县| 鄂托克前旗| 靖西县| 南澳县| 孝义市| 筠连县| 萝北县| 筠连县| 二手房| 临武县| 财经| 焦作市| 宝鸡市| 海门市| 潼南县| 黄梅县| 温宿县| 新昌县| 古田县| 蒲江县| 镇平县| 德昌县| 蒙自县| 当雄县| 麟游县| 罗定市| 蓝山县| 烟台市| 兖州市| 邹平县| 湾仔区| 平远县| 成安县| 昌江| 福泉市| 河池市| 财经| 从化市| 南涧| 罗江县|