[Tạo 2D Platformer Game với Godot] Phần 28: Thêm âm thanh giao diện

Chào mừng các bạn đến với bài hướng dẫn Office tiếp theo trong GOGOhalloween.  

Trong phần này mình sẽ hướng dẫn bạn cách thêm âm thanh khi nhấn vào các nút trên giao diện,vv.

Âm thanh

 Lấy âm thanh

Để lấy âm thanh thì ở đây mình sẽ không cần đưa bạn link tải, bạn chỉ cần vô Asset lib tìm Kenney là nó sẽ ra.


Bạn có thể chọn 1 trong 2 cái đều được.

Rồi nhấn download để tải nó xuống.

Tải xong rồi thì bạn nhấn vào Install để cài đặt.



Nó sẽ hiện lên 1 giao diện hiển thị địa chỉ của addon đó rồi nhấn Install


Sau đó 1 thư mục mới đc tạo tên addons và nó chứa âm thành mà mình vừa cài ở trong đó

Về các file âm thanh nó cũng được ghi thêm tên đằng trước để bạn có thể nhận biết nên xài cái nào và cái nào.

Thêm vào scene

Sau khi cài đặt thành công thì mình tiến hành thêm nó vào game.


Kiếm cho mình node AudioStreamPlayer2D

 

Ở đây mình đang add vào scene Menu.

Ở đây mình đang làm Audio khi nhấn vào nút Bắt đầu cho nên mình sẽ tìm sound có tên click và kéo nó vào dòng Stream của Audio Stream Player 2D.

Sau khi kéo xong thì bạn có thể gọi nó ở trong code với hàm play()

extends Control
func _on_NutBatDau_pressed():
    $AudioStreamPlayer2D.play()
    yield(get_tree().create_timer(0,1),"timeout")
    get_tree().change_scene("res://Scences/Map/LevelMap.tscn")
    pass # Replace with function body.
func _on_NutThoatGame_pressed():
    get_tree().quit()
    pass # Replace with function body.

Dòng code ở trên mình thêm dòng $AudioStreamPlayer2D.play() là mình sẽ chạy cái âm thanh khi bấm nút bắt đầu

yield(get_tree().create_timer(0,1),"timeout"): là mình tạo 1 cái timer với thời gin 0,1s sau khi hết 0,1s nó mới chạy lệnh change_scene(). Ở đây, mình dùng lệnh này là bởi vì khi mình nhấn chỉ thêm dòng play() rồi change_scene nó sẽ không chạy âm thanh ( tuỳ máy có máy không) nên là mình sẽ thêm lệnh yield để sau khi nó chạy âm thanh rồi mới change scene.

Bạn có thể không cần thêm yield() nếu như cái bạn muốn chạy âm thanh không cần phải change scene.


Mình sẽ làm thêm 1 cái nữa ở scene PauseMenu.

Bạn thêm âm thanh vào.

Sau đó ở hàm hiện âm thanh menu mình có:

func _on_HienPauseMenu_pressed():
    
    get_node("AudioStreamPlayer2D").play()
    $PauseMenu.show()
    get_tree().paused = true
    pass # Replace with function body.

Rồi sau khi bạn nhấn và chạy thử sẽ thấy nó có âm thanh click khi nhấn vào.

Tổng Kết

Vậy trong phần này mình đã hướng dẫn bạn cách để thêm âm thanh vào trong game.

 

 

📥 DOWNLOAD NOW

Trên đây là đường link video hướng dẫn cụ thể chi tiết từng phần mà chúng tôi đã bỏ thời gian ra làm và quay lại. Bạn hãy tải xuống và thực hiện như chúng tôi nhé!

Related Posts

Trả lời

Email của bạn sẽ không được hiển thị công khai.