[Unity Cơ Bản] Bài 4 : Các câu lệnh cơ bản với Script trong lập trình Game Unity
Hi Các em, trong bài viết này thầy hướng dẫn tới các em 1 số câu lệnh cơ bản trong lập trình Game Unity cho các bạn mới học bao gồm :
1. Bắt sự kiện bấm bàn phím
2. Di chuyển nhân vật
3. Thay đổi trạng thái nhân vật (Đi bộ -> Chạy nhanh, Chạy -> Nhảy …)
1. Bắt sự kiện bấm bàn phím
Đầu tiên, chúng ta tạo sẵn 1 dự án Game với nhân vật được gắn sẵn Script tên là PlayerController .cs như sau :

Mở file PlayerController t viết câu lệnh như sau :

cùng phương thức Input.GetKey để kiểm tra phím nào được bấm
2. Di chuyển nhân vật
Như vậy, với phần trên chúng ta đã bắt được sự kiện bấm nút trên bàn phím, để di chuyển nhân vật trong Unity có rất nhiều cách khác nhau tùy theo kịch bản game muốn nhân vật di chuyển ntn. Ở đây thầy giới thiệu câu lệnh cơ bản nhất để di chuyển nhân vật như sau :
Đầu tiên, khởi tạo đối tượng Tranform tại hàm Start trong Script PlayerController như sau :

Kế tiếp ta viết câu lệnh di chuyển khi bấm phím

Tương tự, ta có các câu lệnh di chuyển lên, xuống, trái, phải bằng đối tượng Vector3.up, Vector3.down, Vector3.left, Vector3.right
3. Thay đổi trạng thái nhân vật
Để thay đổi trạng thái nhân vật, trước tiên ta cần thiết lập ít nhất 2 trạng thái ( animation ) cho nhân vật và đặt giá trị gán cho từng trạng thái.
Ví dụ , đặt 1 biến boolean là status với 2 giá trị true, false đại diện cho 2 trạng thái hoặc đơn giản hơn ta đặt 1 biến Integer với giá trị là 1, 2 đại diện cho 2 trạng thái . Ở đây, thầy sử dụng 1 biến status dạng Int nhé
Để thiết lập trạng thái ta làm các bước như sau :

Như trong hình thầy có 3 trạng thái là DiBo, DungIm, Nhay.
status = 0 là DungIm
status = 1 là DiBo
status = 2 là Nhay
Click vào các trạng thái trong màn hình và thiết lập ô Condition (điều kiện) khi chuyển trạng thái cho nhân vật

Ở bước thứ 3 : Nhấn dấu + ta thiết lập điều kiện như sau :

DungIm -> DiBo khi mà status = (equals) 1
Tương tự cách thiết lập như vậy, chúng ta click vào các trạng thái khác và làm tương tự
Kế tiếp, chúng ta viết code trong Script như sau để đổi trạng thái nhân vật
Khai báo đối tượng Animator để có thể thay đổi trạng thái nhân vật ở dòng
12 và 20

Kế tiếp, khi nhấn phím di chuyển, ta thêm câu lệnh chuyển trạng thái tương ứng

Với cách tương tự, chúng ta thêm câu lệnh chuyển trạng thái vào các nút tương ứng như : nhấn A hoặc D thì nhân vật từ DungIm -> DiBo.
Nhấn R thì nhân vật từ DungIm -> Chay (status = 2)
Lưu ý : Khi không ấn gì thì nhân vật trở lại trạng thái đứng im nên ta thêm điều kiện else như hình :

Như vậy, bằng đối tượng Animator, chúng ta có thể thay đổi trạng thái nhân vật, kết hợp với di chuyển nhân vậy, từ đó xây dựng được nhân vật game di chuyển kèm Animation trùng khớp