Trong phần này, mình sẽ hướng dẫn bạn cách thêm Background và điều chỉnh lại camera cho nó hợp lý và đẹp mắt hơn nha.
| Tham gia kênh Telegram của AnonyViet 👉 Link 👈 |
Lỗi nhân vật
Thì ở phần trước mình chỉ bạn các xoay nhân vật và sẽ có vài bạn gặp lỗi là khi xoay nhân vật thì nó sẽ rơi xuống hoặc giật giật thì sau đây là cách fix.![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 28 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-21-25.png)
Bạn đang bị lỗi đó là do nhân vật nó như thế này, do nó lệch vị trí.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 29 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 25](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-21-29.png)
Các bạn sẽ phải set lại vị trí chính giữa.
Sau đó là sẽ không còn bị vậy nữa nha.
Background
Tải xuống
Ở phần 2 khi mình cung cấp link tải tileset thì nó đã bao gồm cả background rồi, nếu bạn nào xoá rồi thì có thể tải lại ở link sau: Swamp 2D Tileset
Cài đặt
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 31 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 27](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-26-16.png)
Bạn tải về và đưa ảnh background ở Folder 2 Background vào trong Folder Assets của game.
Kiểu 1
Các bạn thêm cho mình node ParallaxBackground![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 33 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 29](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-33-36.png)
Thêm 1 nút Sprite là con của nút Background.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 34 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 30](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-34-24.png)
Bạn chọn nút Sprite sau đó kéo file ảnh background vào Texture.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 35 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 31](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-35-16.png)
Bạn sẽ được như này.
Và bạn nhớ cho mình là cái khung màu xanh nươc biển chính là cái khung mà người dùng có thể nhìn thấy được.![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 36 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 32](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-36-52.png)
Mình sẽ kéo cái background cho vừa với khung xanh.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 37 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 33](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-38-41.png)
Rồi chạy game các bạn sẽ thấy background nó đã xuất hiện và luôn di chuyển theo bạn.
Kiểu 2
Nếu bạn muốn background không di chuyển theo bạn thì làm như sau.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 38 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 34](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-40-00.png)
Bạn tạo thêm 1 nút ParallaxLayer và đưa Sprite vào làm con của nút đó.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 39 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 35](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-40-56.png)
Rồi ở nút ParallaxLayer -> Motion bạn sẽ thấy phần Mirroring thì ở x các bạn chỉnh lên 1000 cho mình.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 40 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 36](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-41-40.png)
Sau khi chỉnh lên 1000 các bạn sẽ thấy sẽ có thêm 1 cái background nữa xuất hiện và mình gọi đây là Infinity Background.
Bạn thiết kế level bạn đến đâu thì bạn set cái Background nó đến đó.
Camera
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 41 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 37](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-43-52.png)
Mình cũng sẽ chỉ bạn thêm cách tối ưu hoá camera nhìn cho đep, nếu bạn nhìn hình trên sẽ thấy không đẹp tý nào.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 42 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 38](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-46-55.png)
Đầu tiên, các bạn phải xem cho mình toạ độ mà bạn muốn camera chỉ di chuyển tới đó bằng cách zoom chỗ bạn muốn lên và xem ở thanh toạ độ.
Ở đây bên trái mình muốn góc nhìn camera tối đa là ở toạ độ 0, bên dưới thì là 550, bên trên là 0 nốt.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 44 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 40](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-50-35.png)
Sau khi có toạ độ mình sẽ vô Player -> Camera2D -> Limit và điền toạ độ vào.![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 45 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 41](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-51-42.png)
Mình sẽ được như này sau khi chỉnh xong, nhìn nó rất là ổn nha.
Camera theo từng map
Sẽ có những map khác nhau và camera mỗi map bạn sẽ phải limit khác nhau do đó nếu như bạn chỉnh trong Player thì khi ở map khác sẽ bị lỗi phần này.
Do đó, mình có cách này để bạn có thể chỉnh limit camera theo từng map.![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 46 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 42](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-54-16.png)
Bạn vào map bạn muốn sau đó chọn Player chuột phải -> nhấn vào Editable Children ( cho phép bạn chỉnh sửa nút Instance dưới dạng 1 nút con )
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 47 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 43](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-55-12.png)
Sau đó, bạn tìm Camera2D và chỉnh lại thôi.
Điều chỉnh game khi phóng to thu nhỏ
Khi phóng to thu nhỏ game theo setting mặc định game sẽ không giữ được như mặc định mà nó sẽ to nhỏ![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 48 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 44](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-56-50.png)
Ví dụ như này là khi mình thu nhỏ.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 49 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 45](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-57-35.png)
Còn đây là khi thu nhỏ theo setting khác.
Nó tuỳ thuộc game bạn muốn làm và bạn muốn nó như nào.
![[Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 50 [Tạo 2D Platformer Game với Godot] Phần 6: Thêm Background 46](https://anonyviet.com/wp-content/uploads/2021/11/10-11-2021-10-58-44.png)
Để được như trên thì các bạn vô Project Settings tìm Display chọn Window và chỉnh ở Mode, Aspect nó có nhiều chế độ để bạn khám phá.
Tổng Kết
Vậy trong phần này mình đã hướng dẫn bạn cách thêm background và điều chỉnh camera sao cho nó hợp lý rồi.
Câu hỏi thường gặp
Tôi có thể tìm background ở đâu?
Background đã được bao gồm trong Tileset được cung cấp ở Phần 2. Nếu bạn đã xóa, bạn có thể tải lại tại đây: Swamp 2D Tileset
Làm thế nào để tạo background di chuyển theo nhân vật?
Thêm một node `ParallaxBackground`, sau đó thêm một node `Sprite` làm con của nó. Kéo file ảnh background vào thuộc tính Texture của Sprite.
Làm sao để giới hạn camera di chuyển chỉ trong một vùng nhất định?
Trong thuộc tính `Limit` của node `Camera2D` (trong Player), thiết lập các giá trị `min` và `max` cho tọa độ X và Y để xác định vùng giới hạn. Bạn cũng có thể chỉnh sửa trực tiếp trên từng map để có giới hạn riêng biệt cho từng map.





![[Tạo 2D Platformer Game với Godot] Phần 29: Lưu và load dữ liệu game 56 [Tạo 2D Platformer Game với Godot] Phần 29: Lưu và load dữ liệu game 49](https://anonyviet.com/wp-content/uploads/2021/11/25-11-2021-04-43-13.png)
![[Tạo 2D Platformer Game với Godot] Phần 28: Thêm âm thanh giao diện 57 [Tạo 2D Platformer Game với Godot] Phần 28: Thêm âm thanh giao diện 50](https://anonyviet.com/wp-content/uploads/2021/11/25-11-2021-01-02-39-350x245.png)
![[Tạo 2D Platformer Game với Godot] Phần 27: Mở khoá level 58 [Tạo 2D Platformer Game với Godot] Phần 27: Mở khoá level 51](https://anonyviet.com/wp-content/uploads/2021/11/24-11-2021-12-17-23.png)
![[Tạo 2D Platformer Game với Godot] Phần 25: Tạo Menu khi hết Level 60 [Tạo 2D Platformer Game với Godot] Phần 25: Tạo Menu khi hết Level 53](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-11-13-02.png)




Anh ơi để ra giữa thì lúc bật game nó rơi ở ngoài map á anh
thêm collision shape cho tile map chưa bạn
Ko là cái sửa lỗi á anh để nhân vật ra giữa thì nó ko ở trong tầm map ạ
Ko em nói cái sửa lỗi á anh để nhân vật ra giữa sẽ ko ở trong map