[Tạo 2D Platformer Game với Godot] Phần 18: Sử dụng các nút

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 để sử dụng các nút như bắt đầu, thoát game bằng cách kết nối tín hiệu và 1 vài dòng code nha.

Sử dụng

Add script


Bạn add thêm cho mình 1 cái script mới ở scene Menu.

Kết nối tín hiệu

Mình sẽ kết nối tín hiệu của node NutBatDau để có thể là khi nhấn vào thì sẽ di chuyển tới scene level 1


Tìm và kết nối tín hiệu pressed(). Tín hiệu này sẽ thực hiện lệnh khi button được người dùng nhấn vào.


Nhấn vào connect


Connect thành công.

Bạn sẽ làm tương tự cho mình đối với nút thoát game.

Code

 


extends Control




func _on_NutBatDau_pressed():
    pass # Replace with function body.


func _on_NutThoatGame_pressed():
    pass # Replace with function body.

Đây là code ban đầu.

extends Control




func _on_NutBatDau_pressed():
    get_tree().change_scene("res://Scences/Map/Map.tscn")
    pass # Replace with function body.


func _on_NutThoatGame_pressed():
    get_tree().quit()
    pass # Replace with function body.

Còn đây là code mà mình đã thêm vào và nó chỉ thêm có 2 dòng thôi.

Ở nút bắt đầu mình sẽ thêm hàm change_sence() để thay đổi qua scene mà mình muốn và change_scene() chỉ có thể được gọi thông qua get_tree() nhé.

Ở nút thoát game thì mình dùng lênh quit() lệnh này sẽ tự đóng game của bạn lại

Sau đó bạn nhấn F6 chạy game và sẽ thấy khi nhấn BAT DAU bạn sẽ được di chuyển qua scene khác và khi nhấn THOAT GAME thì game của bạn sẽ bị thoát ra ngoài.

Tổng kết

Phần này thì nó toàn mấy cái khá là dễ để thực hiện.

Ở phần tiếp, mình sẽ hướng dẫn bạn cách để design , trang trí lại cái giao diện Menu sao cho đẹp và hợp lý nha. Dự tính phần Menu sẽ kéo dài thêm 2,3 phần và sau đó là sẽ tạo Menu dừng game khi đang chơi game.

 

Dưới đâ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é!

📥 DOWNLOAD NOW

Related Posts

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *