Khi tạo trò chơi, ta phải quyết định xem người chơi sẽ tương tác với trò chơi như thế nào. Hai cách thông thường hay được sử dụng là chuột và bàn phím. Bài viết này sẽ hướng dẫn cách lập trình để người chơi có thể điều khiển nhân vật bằng bàn phím.
Định hướng / Lên kế hoạch
Trước khi bắt tay vào việc lập trình, bạn cần trả lời 2 câu hỏi sau:
- Những phím nào sẽ được sử dụng để điều khiển nhân vật?
- Khi ấn phím thì nhân vật sẽ làm gì?
Hai câu hỏi trên rất quan trọng vì nó sẽ giúp bạn làm rõ ý định của bản thân, nhằm định hướng cho việc lập trình. Trong ví dụ này, tôi sẽ dùng 4 phím mũi tên để điều khiển nhân vật di chuyển theo 4 hướng cơ bản (lên, xuống, trái, phải)
Các nhóm lệnh trong Scratch đều cần được bắt đầu bằng một Event. Câu lệnh Event sẽ là mốc để đánh dấu khi nào các khối lệnh bên dưới câu lệnh Event đó được thực hiện. (Các bạn có thể đọc thêm về Event tại đây). Trong trường hợp này, chúng ta cần một Event giúp nhận ra hành động ấn phím. Đó là câu lệnh “When … key press”. Tùy vào mục đich của người lập trình, chúng ta sẽ chọn phím thích hợp để điền vào dấu “…”. Ví dụ, nếu muốn nhận ra hành động ấn phím mũi tên phải của người chơi, chúng ta sẽ dùng câu lệnh “When right arrow key press”
Lập trình
Sau khi chọn được Event, chúng ta sẽ bắt đầu lập trình cho hành động của nhân vật khi người chơi ấn phím tương ứng. Trong ví dụ này, khi người chơi ấn phím mũi tên sang phải, nhân vật sẽ di chuyển sang phải. Theo các bạn, trong thực tế, nếu bạn muốn đi sang bên phải thì chúng ta cần làm gì?
Giống với thực tế, khi nhân vật muốn di chuyển sang bên phải thì cần:
- Quay về phía bên phải
- Di chuyển
Vậy chúng ta sẽ có nhóm các khối lệnh như sau:
Với nhóm lệnh trên, khi người chơi ấn phím mũi tên sang phải, nhân vật sẽ di chuyển sang phải. Tương tự như vậy, các bạn có thể lập trình cho nhân vật di chuyển sang trái, lên và xuống.
Ghi chú
- Trong Scratch, mặc định các nhân vật đều hướng mặt về phía bên phải. Nhiều bạn bỏ qua câu lệnh quay (Point in direction…) mà chỉ dùng câu lệnh “move” để di chuyển sang phải. Việc này sẽ không ảnh hưởng gì nếu nhân vật của bạn chỉ đi theo 1 hướng duy nhất.
- Nếu muốn nhân vật di chuyển nhiều hướng thì cần phải có câu lệnh giúp nhân vật xác định hướng di chuyển đặt trước câu lệnh di chuyển. Trong trường hợp không có câu lệnh xác định hướng di chuyển, nhân vật sẽ di chuyển về hướng mà nó đang hướng mặt.
- Phím điền vào dấu … trong lệnh “When … key pressed” sẽ quyết định khi nào các câu lệnh bên dưới sẽ được thực hiện
- Số điền vào dấu … trong câu lệnh “Point in direction…” sẽ quyết định hướng quay mặt của nhân vật.
Hãy thử thực hành và so sánh kết quả với mình trong clip này nhé!
Link dự án mẫu: https://scratch.mit.edu/projects/310782412/
Để giúp cho việc điều khiển nhân vật bằng bàn phím mượt hơn, các bạn hãy xem bài viết này nhé!
Trả lời