Hai hệ thống đầu vào
Thuộc phần Xây dựng trò chơi thực tế trong hành trình Unity của Coddy. Bài học 44 trên 60.
Unity có hai cách đọc bàn phím và chuột. Cách bạn đã dùng đến giờ là Input Manager: lớp Input cùng với GetKey, GetAxis và GetButtonDown, cũng như các trục và nút được đặt tên trong Project Settings > Input Manager. Cách mới hơn là gói Input System (com.unity.inputsystem). Các tập lệnh của gói này bắt đầu bằng using UnityEngine.InputSystem;, và đọc thiết bị dưới dạng đối tượng, chẳng hạn như Keyboard.current và Mouse.current, cũng như thông qua hành động (actions): những việc người chơi thực hiện được đặt tên, chẳng hạn như Move và Jump, mỗi hành động được gán cho các phím, cần điều khiển và nút.
Dự án sử dụng hệ thống nào là do một cài đặt Player quyết định: Edit > Project Settings > Player > Other Settings > Active Input Handling, với ba lựa chọn: Input Manager (Old), Input System Package (New) và Both. Một dự án Unity 6 mới bắt đầu với Input System Package (New), và ở chế độ đó, mọi lần gọi lớp Input đều gây ra InvalidOperationException với thông báo rằng bạn đang đọc đầu vào thông qua UnityEngine.Input trong khi dự án sử dụng gói Input System. Đó là lý do các bài học trước yêu cầu bạn chọn Both. Để thay đổi cài đặt này, cần khởi động lại trình chỉnh sửa, Unity sẽ đề nghị thực hiện việc đó.
Unity 6 bắt đầu với hệ thống mới vì một API có thể dùng cho bàn phím, chuột, tay cầm chơi game, màn hình cảm ứng và bộ điều khiển XR, đồng thời các hành động giúp mã không cần chứa thông tin về phím: tập lệnh đọc hành động Jump, và cùng một dòng lệnh vẫn hoạt động với phím Space, nút A trên tay cầm chơi game hoặc nút trên màn hình điện thoại, cũng như khi người chơi đổi phím. Input Manager cũ vẫn được duy trì cho các dự án cũ. Khung nhìn trò chơi của Coddy hoạt động như chế độ Both, vì vậy các phím, thao tác nhấp và bàn phím điều khiển trên điện thoại (các mũi tên và Jump) đều được cả hai hệ thống nhận. Phần còn lại của chương này sử dụng Input System.
Tự làm thử
Bài học này không có thử thách code.
Tất cả bài học trong Xây dựng trò chơi thực tế
1Văn bản trên màn hình
Canvas và văn bảnHiển thị điểm sốĐịnh dạng sốĐồng hồ đếm ngượcÔn tập: Đồng hồ tốc độ7Điều khiển thời gian
Tạm dừng bằng timeScaleChuyển động chậmThời gian không bị co giãnÔn tập: Bullet Time2Nút bấm và màn hình
Nút bấm và onClickLambdaKết nối trong InspectorBật và tắt bảngThanh máuÔn tập: Cửa hàng nâng cấp5Lưu dữ liệu với PlayerPrefs
Lưu một sốTải với giá trị mặc địnhĐiểm cao nhấtLưu cài đặtÔn tập: Tiền xu trong ngân hàng3Trình quản lý trò chơi
Một script chạy trò chơiSingletonCác trạng thái trò chơiChuyển đổi trạng tháiÔn tập: Trình quản lý vòng chơi6Dự án: trò chơi chạy vô tận
Ba làn đườngChướng ngại vật phía trước9Hệ thống đầu vào mới
Hai hệ thống đầu vàoBàn phím và chuộtĐược nhấn trong khung hình nàyThao tác đầu vàoÔn tập: chuyển đổi đầu vàoTự luyện tập: Playground Unity