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 Vector2
vị 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ó Z
làm độ sâu lớp. Tuy nhiên, vì bạn không thể sử dụng các toán tử giữa Vector2
và Vector3
vì 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 Vector2
trong 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 += offset
không có lỗi.
Tôi cũng đã thay đổi biến xoay của mình từ float
sang Vector3
và tôi sử dụng Z
giá trị để xoay kết cấu của mình. Tôi đang dự định sử dụng X
và Y
lậ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 Vector2
trong Vector3
s, 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 Vector2
s và Vector3
s, ví dụ như khi thêm hoặc nhân họ, hoặc khi gọi Normalize
, Transform
hoặ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?