vì mục đích đơn giản, giả sử rằng tôi đang tạo một trò chơi bản sao Pong đơn giản cho Android. Giả sử rằng nó sẽ chỉ có thể phát ở chế độ ngang. (bỏ qua điện thoại vuông bây giờ).Cách chia tỷ lệ trò chơi trên Android
Tôi muốn trò chơi có cùng quy mô trên mỗi điện thoại, trong trường hợp bạn chụp ảnh màn hình trò chơi trên điện thoại QVGA và đổi kích thước ảnh chụp màn hình thành kích thước WVGA, nó sẽ trông gần như giống nhau như trò chơi sẽ nhìn vào điện thoại WVGA. Nói cách khác, chiều rộng của paddle luôn luôn bằng 1/32 chiều rộng màn hình, đường kính của quả bóng phải luôn bằng 1/16 chiều rộng màn hình.
Cách thích hợp để vẽ ứng dụng là gì? Nó sẽ chạy trong SurfaceView tiêu chuẩn sẽ được vẽ lên một Canvas
.
Giả sử tôi có PNG có độ phân giải cao cho gậy, bóng và phông chữ trò chơi (bảng điểm, menu chính).
Tôi tìm ra độ phân giải vật lý, sau đó mở rộng các Canvas
qua scale(float sx, float sy)
để làm cho tất cả Canvases của tôi (trên QVGA và WVGA) có cùng độ phân giải ảo, và sau đó vẽ chính xác nguyên thủy như nhau trên mỗi vị trí trên mỗi màn hình kích thước?
Hoặc tôi có thể sử dụng pixel độc lập với mật độ (nhúng) bằng cách nào đó trong Canvas không?
làm cách nào để sử dụng dips trong các phương thức Canvas như drawLine()? – Axarydax
ok hãy quên bản sao Pong và chúng ta hãy nói trò chơi dựa trên gạch như Pac-man hoặc SimCity. Vì vậy, có những viên gạch được lưu trữ trong PNG và Pong có lẽ là quá đơn giản của một ví dụ. – Axarydax