Im tạo ra một chiếc xe đơn giản và trò chơi mô phỏng phóng trong WPF bằng cách sử dụng C#. Tôi cần phải có tỷ lệ khung hình không đổi (tức là tôi cần phải biết bao nhiêu để di chuyển một đối tượng với một vận tốc nhất định trong mỗi khung hình). Bằng cách này tôi có thể đăng ký một sự kiện tính toán và cập nhật vị trí theo vật lý của trò chơi với sự kiện CompositionTarget.Rendering.Tốc độ khung hình không đổi trong WPF cho trò chơi
CompositionTarget.Rendering += UpdatePositions;
Tôi googled nó một lúc và không tìm thấy câu trả lời. Khung hình/giây trong WPF seem to be arbitrary và sử dụng Đồng hồ bấm giờ để biết thời gian trôi qua giữa một khung hình và khung hình trước đó sẽ không sạch sẽ chút nào.
Tôi cũng nghĩ đến việc tạo tốc độ khung hình của riêng mình, bằng cách gọi UpdatePositions cứ sau một vài miligiây và hy vọng hiển thị phù hợp và có hình động trơn tru. Điều này có vẻ như tái phát minh ra bánh xe, và tôi không thể nghĩ ra một cách để thực hiện điều này một cách sạch sẽ và đơn giản.
Cảm ơn!
Không sử dụng WPF cho bất kỳ điều gì nhưng phát triển trò chơi cơ bản nhất. Nó thực sự không dành cho việc sử dụng đó. Bạn nên nhìn vào khung công tác XNA nếu bạn muốn tạo một trò chơi bằng .NET. – dlev
Tôi nghĩ đây là cơ bản nhất trong phát triển trò chơi và tôi đã làm việc rất nhiều nên tôi thực sự cần phân loại các vấn đề về tốc độ khung hình ... – Nicolas
"sử dụng Đồng hồ bấm giờ để biết thời gian trôi qua giữa khung và trước đó sẽ không được sạch sẽ ở tất cả "- làm thế nào? – EboMike