[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 :

Trong hình,để bắt sự kiện bấm nút ta viết trong hàm Update với câu lệnh If Else
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 :

Lựa chọn biến trạng thái là Int, đặt tên là status
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 :

Thiết lập như trên có nghĩa là :
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

dòng thứ 34, chuyển giá trị của biến status tạo bên Unity = 1 thì nhân vật chuyển từ trạng thái DungIm -> DiBo

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