godot 像素平臺游戲2 character腳本解析
自動(dòng)創(chuàng)建的腳本沒少好說的。
尤其是原視頻的第二章,畫了半小時(shí)去介紹里面的邏輯,非常推薦新人看一看,雖然很啰嗦,但是內(nèi)容和實(shí)在,甚至可以逆推godot的設(shè)計(jì)原理。
一、原腳本解析,如圖:

? ? 1、$AnimatedSprite2D
????????這個(gè)實(shí)際上get_node(SnimatedSprite2D)的縮寫,就類似c的this.AnimatedSprite2D
????????ps:字符串,區(qū)分大小寫。不是unreal中,會(huì)自動(dòng)大寫首字母,腳本有時(shí)候又會(huì)忘記,于是干脆不區(qū)分了
????2、翻轉(zhuǎn)
????????其中翻轉(zhuǎn)Flip H = True 和scale = Vector2(-1,1)
????????Flip的翻轉(zhuǎn),是翻轉(zhuǎn)GPU中顯示著色時(shí)候要反過來。
????????scale的翻轉(zhuǎn)會(huì)繼承給子節(jié)點(diǎn)
????3、move_and_slide()
????????如果看過原視頻,會(huì)發(fā)現(xiàn)這里變了,4.0中move_and_slide不再返回碰撞后的vector2類型,而是直接返回bool,他已經(jīng)把this.Velocity = move_and_silde()整合到引擎中了。
????
二、參考character的變量和功能

????就是是不是接觸地面,茴香豆的回有集中寫法;platfor平臺的圖層與角色關(guān)系。然后就沒啥了。
????這些功能是專門制平臺跑酷游戲的功能。如果只是簡單平臺功能,或者主要以飛行為主的平臺跳躍,就只需要修改速度,判定是不是在墻上和地面上,就好了。
????
三、給角色加個(gè)蘑菇,表示未來會(huì)更換的槍械
????1、創(chuàng)建sprite2D在animatedsprite2D的下面

????????2、拖入tiles_packed,然后regon

????3、移動(dòng)子節(jié)點(diǎn)的位置

????4、確認(rèn)有沒有寫好

????5、測試


????非常nice
三、把變量拓展到可以界面上


需要到world scene中看得到

總結(jié)
????4.0和原視頻的3.X版本區(qū)別挺大的。
????godot的原生腳本,省略了private和public的,很像c,不過不是用來給大型企業(yè)開復(fù)雜面對新的工程,對獨(dú)立工作室的反而很有幫助。