Godot基礎教程06:類的概念與幫助查詢

注意:本章並非教編程,甚至不算是教程類文章,只是教一些不太懂的人快速查到詳細內容的技巧。
本教程須要你多少懂點編程,若是不懂的話,建議先去看一下編程方面的教程,食用更佳!編程

類與繼承

實例是編程中的概念,你可能常常看到這句話:實例化一個類(或實例化一個對象),爲一個類新建一個實例,被稱爲實例化
實例有什麼區別呢?舉個例子:是一個類,張三是屬於人類的實例。是一個類,旺財是屬於狗類的實例。
能夠繼承,好比在遊戲中,玩家NPC怪物是常見的元素,他們有哪些共同點和特殊性呢:spa

  • 共同點:都擁有生命、名稱、模型、戰鬥功能等
  • 玩家特有:行爲徹底由用戶操做,擁有更多的屬性、玩法
  • NPC特有:點擊能夠進行非戰鬥的交互、AI控制其行爲
  • 怪物特有:點擊能夠進行戰鬥、AI控制其行爲
  • 在某些遊戲中,玩家的技能釋放邏輯與NPC、怪物的釋放邏輯也不相同

咱們能夠寫一個名爲生物的類,來實現這些共同的屬性和行爲。而後玩家NPC怪物的類繼承生物類,因而它們就天然擁有了生物類的全部屬性和行爲,再在它們自身實現本身特有的屬性。3d

節點類型

在godot中,用一種更形象的方式呈現給咱們,那就是節點類型,每個節點類型就是一個
新建Node界面.png
新建Node界面中,每個節點類型就表明着一個節點類型層級關係,就表明是如何繼承的。
全部的節點類型都繼承自Node類,也就是說,全部節點類型都是Node的子類。
在不少教程裏,都在避免使用父類、子類的說法,就是爲了不它們與父節點、子節點的概念混淆。code

  • 父子類的意義在於,子類中能夠直接擁有父類的屬性、方法
  • 父子節點的意義在於,操縱父節點移動、縮放、旋轉、增刪會影響到子節點

一個節點的子節點能夠是任意類型,甚至是父類也沒有關係,只要能實現你想要的效果就行。
在本教程第4章中,咱們將一個Node2D類型的節點看成了Sprite類節點的子節點,實際上如今咱們知道,Node2D類是Sprite類的父類:
節點.png
如上圖:子彈掛點Node2D類,炮管Sprite對象

如何查詢API

在godot中,按Shift+F1,能夠打開幫助
幫助.png
經過這裏咱們看到,這裏在Node類以外還有一個Object類,收起Object類,發現還有不少與Object同級的類。
由於父節點、子節點這些功能是在Node類實現的,因此只有Node類和它的子類才能添加到節點樹中,因而在新建Node界面中,咱們只能看到Node類和它的子類。
在搜索框中,輸出類名、屬性名、方法名,均可以查詢,雙擊條目打開詳細描述:
類的描述.png
如上圖:紅色方框內表示的是繼承關係,即此類的父類、父類的父類、父類的父類的父類……。黃色方框是派生了哪些類,即此類的子類。
往下翻翻,就能夠看到每一個類都有哪些屬性、方法,你就明白使用這個類能實現哪些功能了。
若是你細心的話可能會發現,抄代碼時發現調用了某類的某個方法,而在幫助文檔中這個類卻沒有這個方法。這是由於這個方法是被其父類、或父類的父類……所定義的,上面講到過,繼承一個類時,就得到了它的屬性、方法。
若是你的這個界面沒有中文描述,請看上一章開頭。blog

相關文章
相關標籤/搜索