• Kiến thức
  • Network
  • Security
  • Software
  • Thủ thuật
  • Tin học văn phòng
  • Tin tức
  • Mail ảo tạm thời miễn phí
  • Tools tra cứu thông tin
  • Công cụ đổi số thành chữ
  • AI Text Watermark Remover
AnonyViet
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
AnonyViet
No Result
View All Result

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level

DeathGM by DeathGM
13/11/2021 - Updated on 24/07/2025
in Godot
A A
0

Mục lục bài viết

  1. Tạo Scene mới
    1. Level mới
    2. Instance khu vực dịch chuyển
  2. Tổng kết
  3. Câu hỏi thường gặp
    1. Làm thế nào để tạo khu vực chuyển cảnh giữa các level?
    2. Tôi cần làm gì để Player chuyển sang level tiếp theo?
    3. Nếu tôi muốn tạo thêm level, tôi cần thực hiện những bước nào?

Trong phần này thì mình sẽ hướng dẫn bạn cách để có thể di chuyển giữa level 1,2,3,vv khi mà đi đến cuối cùng của 1 level.

📢 Tham gia kênh Telegram của AnonyViet
👉 Vào Telegram AnonyViet
Cập nhật bài mới, tools hay và thủ thuật IT nhanh nhất

Tạo Scene mới

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các levelĐầu tiên, các bạn tạo 1 Scene mới với Area2D là node gốc.

Các bài viết liên quan

Có nên dùng Unity để lập trình game không? 59

Có nên dùng Unity để lập trình game không?

07/04/2022 - Updated on 25/07/2025
godot lap trinh game

Có nên học Godot Engine để lập trình Game không?

15/03/2022 - Updated on 25/07/2025
hoc lap trinh game de khong

Học lập trình Game dễ không? Tiềm năng của ngành lập trình game?

09/03/2022 - Updated on 25/07/2025
Có nên dùng Game Maker Studio để làm Game trong năm không? 60

Có nên dùng Game Maker Studio để làm Game trong năm không?

03/03/2022 - Updated on 25/07/2025

Ở đây, mình sử dụng Area2D là vì mình sẽ tạo ra 1 khu vực và khi PLayer đi vào nó sẽ di chuyển tới level tiếp theo.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 31

Xong sau đó các bạn save lại trong thư mục Scene.[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 32

Tiếp theo đó add script vô cho nó nha.

Script thì bao gồm như sau:

 

extends Area2D


export (String,FILE) var LevelKeTiep


func _on_KhuVucDiChuyen_body_entered(body):
    if body.name == "Player":
        get_tree().change_scene(LevelKeTiep)

Mình khai báo 1 biến và biến này đặc biệt ở chỗ mình dùng export( đây là lênh sẽ làm cho biến xuất hiện bên ngoài Inspector để có thể dễ dàng edit)

 

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 33Mình thêm (String,FILE) phía sau là để có thể chọn file từ ngoài Inspector.

Bạn có thể tham khảo thêm tài liệu ở đây: GDScript exports

Về phần cái hàm bên dưới thì bạn phải connect signal nó mới xuất hiện.

if body.name == “Player” là mình kiểm tra nếu như cái Body đi vào mà tên là Player ( tên scene nhân vật mà mình và bạn đã tạo) thì nó sẽ di chuyển sang Level được gán vào biến trên.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 34

Bạn nhấn vào Area2D

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 35

Qua tab Node nhấn 2 click vào body enter ( ở đây mình sử dụng body entered là vì Player là 1 KinematicBody2D nên mình sẽ sử dụng tín hiệu xác định khi 1 body đi vào Area2D)

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 36

Bảng hiện ra thì chọn Area2D xong nhấn Connect.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 37 [Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 38

Bạn có thể nhận biết đã connect signal thành công bằng cách xem 2 cái ký hiệu ở hai ảnh trên nhé.

Level mới

Sau khi làm xong các bạn tạo cho mình một level mới nha tương tự như cách bạn tạo Scene Map.[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 39

 

Sau khi tạo xong 1 node 2D mới bạn đổi tên thành map2.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 40

Và thay vì làm lại tilemap bạn có thể qua map đầu để copy nó.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 41

Qua map 2 và paste nó ra.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 42

Sau khi dán ta được tilemap giống như Map đầu và bạn chỉ việc chỉnh lạ[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 43

Map 2 của mình sau khi chỉnh lại.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 44

Add Player và Background như Map 1 nhé, copy thôi là xong.

Instance khu vực dịch chuyển

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 45

Bạn Instance node khuvucdịch chuyển vừa tạo vào Map1 [Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 46

Chuột phải chọn editable children để có thể edit nó.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 47

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 48

 

Chọn CollisionShape2D và chọn shape cho nó.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 49

 

Sau khi chọn shape xong nó sẽ hiện ra như này.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 50

Và bạn kéo nó ra nơi chúng ta cần đổi level bằng cách nhấn vào KhuVucDiChuyen và nhấn vào icon move trên thanh công cụ chứ đừng kéo cái CollisionShape2D đi nha.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 51

Mình đã di chuyển ra vị trị mình muốn và mình edit lại cái CollisionShape2D sao cho hợp lí.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 52

Bạn sẽ chưa thể di chuyển được vì bạn chưa cho nó biết bạn muốn di chuyển qua scene nào cho nên là ở KhuVucDichChuyen nhấn vào icon thư muc.[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 53 [Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 54
[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 55

Tìm và chọn Map2 sau đó nhấn Open.

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 56

Sau khi xong thì Map2 đã được add vào biến LevelKeTiep[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 57

[Tạo 2D Platformer Game với Godot] Phần 9: Di chuyển giữa các level 58

Ở trên khi mình bước vào sẽ được chuyển sang Map2.

Ở đây, bạn có thể áp dụng nhiều cách để có thể tận dụng tối đá nó như:

  • Set camera limit ở trước khu vực di chuyển
  • Thêm Sprite ở Scene KhuVucDiChuyen để dễ nhận biết.

Tổng kết

Trong phần này mình đã hướng dẫn bạn cách di chuyển giữa các level với nhau và tuỳ theo tính sáng tạo và hiểu biết của bạn thì có thể design ra nhiều khác.

Câu hỏi thường gặp

Làm thế nào để tạo khu vực chuyển cảnh giữa các level?

Tạo một Scene mới với Area2D làm node gốc. Thêm một script vào Area2D, sử dụng biến export (String, FILE) var LevelKeTiep để chọn file scene level tiếp theo. Kết nối tín hiệu body_entered với hàm _on_KhuVucDiChuyen_body_entered trong script để kích hoạt chuyển cảnh khi Player va chạm vào Area2D.

Tôi cần làm gì để Player chuyển sang level tiếp theo?

Đặt Area2D (khu vực chuyển cảnh) ở vị trí mong muốn trong level hiện tại. Khi Player chạm vào Area2D, script sẽ tự động gọi hàm get_tree().change_scene(LevelKeTiep), chuyển sang scene được chỉ định trong biến LevelKeTiep.

Nếu tôi muốn tạo thêm level, tôi cần thực hiện những bước nào?

Tạo một scene mới cho level đó (tương tự như tạo scene map). Sau đó, trong Scene của level trước, instance node khu vực chuyển cảnh và thiết lập biến LevelKeTiep trỏ đến scene level mới được tạo.

Tags: Godotlập trình gamethiết kế game
DeathGM

DeathGM

Related Posts

Có nên dùng Unity để lập trình game không? 61
Code

Có nên dùng Unity để lập trình game không?

07/04/2022 - Updated on 25/07/2025
godot lap trinh game
Godot

Có nên học Godot Engine để lập trình Game không?

15/03/2022 - Updated on 25/07/2025
hoc lap trinh game de khong
Kiến thức

Học lập trình Game dễ không? Tiềm năng của ngành lập trình game?

09/03/2022 - Updated on 25/07/2025
Có nên dùng Game Maker Studio để làm Game trong năm không? 62
Kiến thức

Có nên dùng Game Maker Studio để làm Game trong năm không?

03/03/2022 - Updated on 25/07/2025
[Tạo 2D Platformer Game với Godot] Phần 29: Lưu và load dữ liệu game 63
Godot

[Tạo 2D Platformer Game với Godot] Phần 29: Lưu và load dữ liệu game

09/12/2021 - Updated on 24/07/2025
[Tạo 2D Platformer Game với Godot] Phần 28: Thêm âm thanh giao diện 64
Godot

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

08/12/2021 - Updated on 24/07/2025
guest

guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
oldest
newest

Liên hệ Quảng Cáo

Lien he AnonyViet

Bài viết mới

không lưu được ảnh JPG trong Photoshop

Mẹo xử lý khi không lưu được ảnh JPG trong Photoshop

by Thanh Kim
06/10/2026
0

cách chuyển văn bản thành mã QR trong Word

Hướng dẫn cách chuyển văn bản thành mã QR trong Word

by Thanh Kim
05/10/2026
0

Sự thật về POCO F9 Ultra: Chiếc máy này có thực sự đáng để bạn xuống tiền? 2

Sự thật về POCO F9 Ultra: Chiếc máy này có thực sự đáng để bạn xuống tiền?

by AnonyViet
05/10/2026
0

3 tháng Shopee VIP từ Vinaphone

Hướng dẫn nhận 3 tháng Shopee VIP từ Vinaphone giá 0 đồng

by Thanh Kim
03/10/2026
0

Bình luận gần đây

  • TextToSong trong Cách dùng Suno AI tạo bài hát hoàn chỉnh từ A đến Z chỉ trong 5 phút
  • Phương Phan trong Hướng dẫn dùng Uneed.vn để đánh giá kiến thức Online cho học sinh
  • Phạm Nhật trong Hướng dẫn dùng Uneed.vn để đánh giá kiến thức Online cho học sinh
  • tuan trong Share key Driver Booster 13 Pro miễn phí 2026
  • loc trong Hack Game & App trên Iphone với TutuApp
  • lâm trong Share key Advanced SystemCare 19 Pro 6 tháng mới nhất
  • lâm trong Share key Driver Booster 13 Pro miễn phí 2026
  • Mui trong Làm thế nào để mua Microsoft Office 2024 mới nhất với chi phí tiết kiệm?
  • Ngọc hân trong Tạo Locket Gold miễn phí siêu đơn giản
  • nmh trong Hướng dẫn cách nhận ShopeeVIP 12 tháng miễn phí
  • Vasker trong HeroSMS là gì? Cách thuê số điện thoại ảo nhận SMS OTP online không cần SIM
  • Cường trong Share key Driver Booster 13 Pro miễn phí 2026
  • ib chỉ ứng dụng lấy số điện thoại với ạ trong Cách lấy số điện thoại từ Facebook mới nhất bằng Tino Group Assistant
  • Vũ Văn Nam trong Hướng dẫn chế ảnh số dư tài khoản MB Bank
  • phú quốc trong Hướng dẫn cách nhận tick trắng Facebook miễn phí
  • AnonyViet trong Hướng dẫn cách nhận Norton 360 Deluxe 1 năm miễn phí
  • Colonia del Sacramento Lighthouse trong Techvui.com – Website chia sẻ các Mod Game miễn phí dành cho Android
  • ta van hoan trong Hướng dẫn cách nhận Norton 360 Deluxe 1 năm miễn phí
  • Nghia Pham trong Làm thế nào để mua Microsoft Office 2024 mới nhất với chi phí tiết kiệm?
  • AnonyViet trong Làm thế nào để mua Microsoft Office 2024 mới nhất với chi phí tiết kiệm?

Giới thiệu

AnonyViet

AnonyViet

Nơi chia sẻ những kiến thức mà bạn chưa từng được học trên ghế nhà trường!

Chúng tôi sẵn sàng đón những ý kiến đóng góp, cũng như bài viết của các bạn gửi đến AnonyViet.

Hãy cùng AnonyViet xây dựng một cộng đồng CNTT lớn mạnh nhất!

Liên hệ

Email: support[@]anonyviet.com

1409 Hill Street #01-01A
Old Hill Street Police Station
Singapore 179369

 

DMCA.com Protection Status

Giới thiệu

AnonyViet là Website chia sẻ miễn phí tất cả các kiến thức về công nghệ thông tin. AnonyViet cung cấp mọi giải pháp về mạng máy tính, phần mềm, đồ họa và MMO.

kết quả xổ số hôm nay đọc truyện dandadan online Xoilac TV bóng đá trực tiếp bóng đá trực tiếp cakhia tv trực tiếp bóng đá tối nay tải ebook free V9bet tỷ lệ nhà cái XOSO66 game bài RIK VIP Go88 sunwin sunwin rikvip hitclub sunwin go88 v9bet https://nowgoal.ws/ https://tylekeonhacai.me/ https://keonhacai.org.vc/ 7mcn https://keonhacai88.tv/ https://keonhacai.loans/ https://keonhacai.kiwi/ 789club xx88 Sun52 Rikvip xoso66 nổ hũ uy tín Sunwin https://pgp88.org/ luck8 luck8 12bet Bắn cá đổi thưởng Rikvip Good88 58WIN Thabet 789club go88 vip66 xoso66 xoso66 Xoso66 8day ae888.com</https://keonhacaitop.com/ kèo nhà cái 5 kèo nhà cái 88m dn88 gavangtv 12bet https://79king8.in.net/ https://99ok3.ru.com/ King88 U888 Hi88 Hitclub 88clb JBO VN GK88 6623 v9bet cakhia Nohu90 nhà cái MB66 https://fly88h.com/ HITCLUB EE88 88I trang chủ MB66 Kèo nhà cái https://79king8.in.net/ https://99ok3.ru.com/ xoilactv EE88 h19 79king s8

©2026 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về CNTT

No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC

©2026 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về CNTT

wpDiscuz