Tôi hiện đang chơi xung quanh với XNA và tạo một nền tảng 2D đơn giản. Tôi đã nghĩ đến việc thêm nhiều lớp để làm cho nó một chút thách thức.
Thay vì có một Vector2vị trí cho các vị trí của mình, bây giờ tôi chỉ sử dụng một Vector3, chỉ để sử dụng nó Zlàm độ sâu lớp. Tuy nhiên, vì bạn không thể sử dụng các toán tử giữa Vector2và Vector3vì một số lý do không xác định [1] , cuối cùng tôi đã thay đổi tất cả các game khác Vector2trong trò chơi của mình, chẳng hạn như tăng tốc , tốc độ và bù đắp , vì vậy tôi có thể làm những việc như position += offsetkhông có lỗi.
Tôi cũng đã thay đổi biến xoay của mình từ floatsang Vector3và tôi sử dụng Zgiá trị để xoay kết cấu của mình. Tôi đang dự định sử dụng Xvà Ylật tỷ lệ họa tiết của mình, để bạn có được hiệu ứng Super Paper Mario.
Tuy nhiên, sau khi thay đổi tất cả những thứ này Vector2trong Vector3s, tôi cảm thấy hơi tệ về nó. Làm thế nào điều này ảnh hưởng đến hiệu suất của trò chơi? Tôi biết tôi không cần phải lo lắng về hiệu suất trong trò chơi platformer nhỏ của mình, nhưng tôi chỉ tò mò về nó.
Có bất kỳ hoạt động đáng chú ý giữa Vector2s và Vector3s, ví dụ như khi thêm hoặc nhân họ, hoặc khi gọi Normalize, Transformhoặc Distance?
[1] Chỉ là một câu hỏi phụ, tại sao không có toán tử để tính toán giữa Vector3 và Vector2?