Như bạn đã biết mỗi game đều có nhân vật và đa số các game 2D đều có nhân vật chính nói chung là nhân vật bạn điều khiển cho dễ hiểu. Hôm nay mình sẽ hướng dẫn các bạn tạoChuyển động nhân vật. Bài này gồm 2 phần cũng như 2 kiểu tạo nhân vật .Tại sao lại có 2 phần? Bởi vì tùy theo asset của các bạn vì đa số có 2 loại asset 1 loại là chuyển động theo từng ảnh và 1 loại là chuyển động nằm hết trong 1 ảnh.
Tham gia kênh Telegram của AnonyViet 👉 Link 👈 |
Các bạn cần phải học từ bài 0 đến bài này thì mới hiểu hết các hướng dẫn khi lập trình game bằng Godot nhé.
Và không dài dòng thêm chúng ta cùng bắt đầu nhé
Charater Animation:
Mình sẽ hướng dẫn các bạn làm loại 1 trước nhé.
Bắt đầu nào:
Đầu tiên: Xóa Sprite cũ và tạo cho mình AnimatedSprite
AnimatedSprite: Là node có thể sử dụng nhiều kết cấu ảnh để tạo chuyển động
Ở đây mình hướng dẫn các bạn xài asset của mình và nếu asset của bạn nào khác của mình mà nó cùng 1 thể loại như bên dưới thì có thể áp dụng được. Nó có nhiều ảnh riêng biệt
Các bạn tải về và bỏ vào thư mục game nhé
Tiếp theo chúng ta sẽ tạo nhân vật nhé
Các bạn nhấn vào AnimatedSprite và đổi tên thành Player sau đó bên phải Player có cột setting ở phần Frames tạo cho mình 1 Frames mới
Rồi nhấn vào cái SpriteFramse vừa tạo sẽ hiện ra bảng (bấm như cái tilemap ý)
Ở đây bạn có thể thấy bên trái có chữ default các bạn xóa đi và tạo 1 animation mới nhé
Nhấn như ảnh để tạo Animations mới
Tạo cho mình 4 cái là Idle – Run – Jump – Fall
Ở Idle các bạn kéo hết ở thư mục vô nhé
Làm tương tự với các phần khác
Và ở phần Jump
Để ý cho mìn anim8 và anim11
Anim8 là jump còn anim11 là fall vì sao? Vì 8 là khi bạn nhảy lên còn 11 là khi bạn tiếp đất có thể làm tương tự với asset khác nếu bạn không hiểu có thể ib cho mình hoặc vào Group Anonyviet Community để hỏi.
Nếu nhân vật bạn mờ như ảnh từ Import lại thành 2D pixel
Các bạn đổi từng cái 1 ở phần FIlesystem nhé
Sau khi chỉnh xong nhân vật của chúng ta sẽ nét lại
Và chúng ta đã xong phần Tạo Nhân vật Tiếp theo là phần Coding
Và các bạn chỉnh lại collsion cho mình
Code chuyển động nhân vật Game
Và mình sẽ hướng dẫn các bạn coding để Chuyển động nhân vật. NHân vật game của bạn có thể di chuyển theo các phím do mình lập trình.
Vô phần script > nhân vật
Code cho mình thêm phần sau
Dòng: 12 – 13 – 16 – 17 – 20 – 24 -25 -26- 27 – 28
Và bên dưới mình sẽ giải thích cho các bạn
$Player
: là bạn gọi Node trong phần scrip dùng $ để gọi bất kỳ Node nào trong 1 Node
$Player.play()
: là bạn chạy cái Animation mà bạn đã làm vừa nãy
$Player.flip_h
: là nó giúp bạn quay qua trái, phải nếu bạn thử bỏ 2 cái dòng này đi rồi chạy game di chuyển sang trái + phải sẽ thấy điều khác biết với khi không bỏ 2 dòng này
Từ line 24 > line 28 là đoạn code giúp bạn nhảy mà vẫn có thể áp dụng animations.
Sau khi chạy game chúng ta sẽ có 1 nhân vật hoàn chỉnh:
Trong tập sau mình sẽ hướng dẫn các bạn tạo lực ma sát để kiểm soát tốc độ của các bạn, các bạn khi di chuyển sẽ thấy nó chạy nhanh vãi ra luôn nên do đó sẽ có 1 cái nữa là ma sát.
password là gì vậy a
pass: anonyviet.com