從 0 開始學Godot | 創建角色【遊戲引擎學習日記#1】

安安~ 從今天我開始了 Godot 的學習之路! 如果有小夥伴要一起學習 Godot 的話歡迎聯絡我拉拉拉~

之後會開始記錄學習的過程~

學習資源

以下是今天我使用來學習 Godot 的一些資源~ 如果你也在學習 Godot 的話,那你或許也會需要到這些資源所以我就在這裡直接列出來啦!

一個是Godot 自己的官方文當,另一個則是一個教學做得特別好的 YouTube 頻道推出的 Godot 教學影片。

學到的東西

Godot 基礎

首先,今天先第一個學到的就是Godot 的一些基礎,像是 scripts 啊,然後 scenes 啊,還有使用這個 Nodes 就是節點的這些基礎。

那原理大概是這樣的,在這個 Godot 裡面,所有東西都可以使用節點,就是這個 Nodes 完成

那許多的節點在一起之後可以把它包裝成唯一個 scenes 這個 scene 是可以被反覆使用的,所以你可以在新的 scene 內是上面在應用舊的你之前寫過這些 scenes。 這樣你的這些 Nodes 就是這些節點也可以被反覆使用了。

在這個 Godot 上面呢 , 有一個非常好用的功能,就是你可以上下拖曳至切換你寫的不同的節點的位置

所以像是如果你有一各碰撞的節點的話呢,你可以拖曳這個碰撞的節點到其他的這個物件上面像是從一個可能地板到角色身上或是從一個角色移到另外一個角色身上,或是直接上下2個節點互換位置之類的。

新學到的一些節點 / 知識

建立角色:

顯示立繪 / 角色圖 (Sprite2D / AnimatedSprite2D)

今天我學到的第一課節點是 Sprite2D ,還有 AnimatedSprite2D ,這2個都是可以把你的立繪圖放到可能你第一個 scene 可能叫做 player 或是其他看起怎麼取名的一個這個scene上面的

那之後玩家就可以看到你的角色出現。那如果你的這個角色沒有要做成動畫的話,那使用 Sprite2D 就可以了,那要有動畫的話就可以使用 AnimatedSprite2D 

碰撞 (CollisionShape2D)

另一個學到的節點是 CollisionShape2D,這個節點放上去之後,可以設定你的這個角色的碰撞

就是有的時候你需要設計一個碰撞的位置,他會黏在你設定的 scene 上面,所以當這個碰撞點和另外一個碰撞點相遇的時候就會停在那邊,所以你的可能角色就不會直接穿過一面牆,因為有這個碰撞體的存在。

那大概一個角色 (player) 的 scene,就是由上面這2個節點完成的。((最基礎不需要其他太多功能的一個角色的話。

讓角色動起來

如果你想讓你的角色可以左右動起來的話, 可以新增一個腳本,在 Godot 上的話他一開始會附帶一些範本可以直接使用

腳色移動的範本是安裝引擎後開啟後就直接存在的,所以當你新建一個腳本的時候,你可以直接選擇角色移動的範本,然後把它放到你剛建立的玩家 (player) 的 scene 下面

那你之後測試遊戲的時候。角色就可以了正常的直接開始移動了。

調整移動速度或是跳的高度

那測試的時候,如果對角色移動的速度或是他跳起來的高度, 你對他跳的幅度不滿意,或是覺得移動太快移動太慢或是跳得太高或是跳太低的話,你就可以打開剛剛的範本 / 新建的腳本

然後你會看到以下這2個代碼

const SPEED = 300
const JUMP_VELOCITY = -400

你可以把他的數字往上調或是往下掉來設定他要移動更快更慢,或是跳得更高或更低。

建立地板 (StaticBody2D )

那如果只有角色設定了碰撞體,然後沒有像是一個地板的存在的話,一預覽遊戲角色就會直接掉下去,所以我們還要再建立一個可以讓角色踩在上面的地板

這個時候可以用到 StaticBody2D 。把他放上去之後,你再測試遊戲的時候,角色就不會直接掉下去了。

他為什麼叫這個 StaticBody2D 呢?

首先2D因為他是一個2D的這個圖,不是3D的是2D

然後 static 這個英文的中文是靜態的意思。就是不會移動的一個物體

他就是不會移動像是地板,他不會移動 , 就是一個static的一個body / 物體

StaticBody2D 的話是不能自己存在的,但還要再加上一個新的節點,像是你可以加入 CollisionShape2D 。加入 collision 之后,警告就會消失了。

設置相機 (Camera2d)

另外一個我學到的一個必要的節點是 Camera2D,這個 Camera2D呢可以設定遊戲開始的時候這個畫面的位置,那你直接拖進來的話,可能畫面會太大,你可以把它調小一點,像是我在xy那邊都調成4。這個大小我就覺得剛剛好。

製作地圖 / 使用 Tilemap

如果我們要繪製地圖的話,我們可以先建立一個新的節點叫做 Tilemap

但在那之前,我們要先準備好圖片的素材,那圖片素材大概就是那種會把很多小圖啊放到同個一個張 png 裡面

然後他基本上已經是準備好 8x8 或是 16x15 或是 32x32,有些是什麼48x48 ,像這樣的規格的一些小磚塊小圖磚,之後你可以再建立地圖的時候一直重複使用。

這裡有蠻多東西可以講的那就等到下一篇在說吧

不加Latte

不加Latte

大家好 ~ 這裡是不加Latte , 為你線上最純的咖啡 | 如果說要推薦哪種咖啡的話 , 我平常都喝小杯的 Cappuccino 不加牛奶和代糖。
平常沒有什麼愛好,如果要說平常喜歡做什麼的話 - 大概是在宇宙裡打棒球。

文章: 55

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *