Tôi hiểu rằng có một số cách để trộn lẫn XNA và WPF trong cùng một ứng dụng. Tôi thấy nó hấp dẫn để sử dụng WPF cho tất cả các công cụ GUI và HUD trong các trò chơi XNA của tôi. Có ai có kinh nghiệm thực tế về cách tiếp cận này hoạt động tốt như thế nào trong cuộc sống thực bằng .NET 3.5 SP1 không? Bất kỳ cạm bẫy nào (chẳng hạn như "airspace problem")? Bất kỳ gợi ý về những gì appoach hoạt động tốt nhất?WPF hòa hợp với XNA trong cuộc sống thực như thế nào?
Trả lời
Có một sự bổ sung trong 3.5 SP1 cho phép tương tác tốt hơn giữa DirectX và WPF (D3DImage), và một cách để đạt được điều đó là thông qua XNA.
Dưới đây là một số chi tiết:
http://jmorrill.hjtcentral.com/Default.aspx?tabid=428&EntryID=259
Thamir Khason trình bày một phiên tuyệt vời về WPF/XNA/Silverlight tại Tech-ed ... Đây là slide của mình: http://blogs.microsoft.co.il/blogs/tamir/archive/2008/04/14/my-teched-08-presentation-slides-download.aspx
PS. Điều này khá ấn tượng khi thấy ... anh ấy có một trò chơi chạy trên xbox. Trên máy tính để bàn của mình bằng cách sử dụng WPF để lưu trữ XNA và điện thoại di động của mình bằng cách sử dụng Silverlight tất cả chơi với nhau !!!
Cá nhân tôi sẽ khuyên bạn không nên cố gắng thực hiện tích hợp này. Tôi biết những gì bạn đang đi cho ... dễ dàng xác định các yếu tố GUI/HUD trong WPF lớn hơn nhiều so với cố gắng để làm như vậy trong XNA cũ chỉ đơn giản. Tuy nhiên, suy nghĩ thực tế về thời gian bạn sẽ cố gắng để kích hoạt kịch bản này so với số tiền bạn muốn tiết kiệm nếu bạn chỉ làm mọi thứ "nguyên bản" trong XNA. Ngoài ra (và điều này có thể không phải là một vấn đề cho bạn), WPF không được hỗ trợ trên xbox hoặc zune ... vì vậy bạn muốn tự giới hạn mình :-)
Tích hợp XNA nằm trong danh sách những thứ cần thêm vào WPF vì vậy chúng tôi đang tìm kiếm điều này cho các phiên bản sau. Hãy theo dõi (đến blog của GregSc) để biết chi tiết khi chúng có sẵn.
Ian Ellison-Taylor
Đọc thêm về vấn đề này here
Hey Tôi biết đây là một thời gian sau khi bạn đăng nhưng nếu bạn vẫn đang tìm kiếm một giải pháp WPF cho XNA bạn có thể muốn giữ một mắt trên http://red-badger.com/product. Hỗn hợp XPF đặt wpf vào XNA. SO có một cái nhìn, tại thời điểm nó là miễn phí vì nó là trong phiên bản beta nhưng điều đó sẽ thay đổi khi họ thêm nhiều thành phần
Đây không phải là điều tôi thực sự làm. Nó không sử dụng WPF. Thay vào đó, nó sử dụng tập hợp các lớp và điều khiển riêng của mình mà chỉ * bắt chước * các phần của WPF. – bitbonk
Bạn muốn sử dụng D3DImage, nhưng D3DImage hoạt động khác nhau trên windows XP vs windows Vista hoặc 7.
Trên Vista hoặc 7, bạn tạo mục tiêu kết xuất không thể khóa để sử dụng với D3DImage & bạn sử dụng thiết bị Direct3D9EX. Trên XP, bạn tạo một renderTarget có thể khóa để sử dụng với D3DImage & sử dụng một thiết bị Direct3D9 bình thường.
Cũng được sử dụng XNA, tốt hơn hết nên sử dụng SlimDX nếu bạn chỉ thực hiện việc này cho PC. SlimDX không thiếu bất kỳ tính năng Direct3D & hỗ trợ Direct3D 9, 10 & 11.
- 1. ZODB Trong cuộc sống thực
- 2. Bản demo Bo WPF cần hỗ trợ cuộc sống
- 3. Tham gia Cartesian ở đâu trong cuộc sống thực?
- 4. Cuộc sống nhân tạo với mạng nơron
- 5. Ứng dụng thực tế trong cuộc sống là gì?
- 6. Làm thế nào để thực hiện tích hợp số với hàm sóng dao động điều hòa lượng tử?
- 7. Ví dụ thực tế cuộc sống cho CountDownLatch và CyclicBarrier
- 8. Cuộc sống kết nối TCP
- 9. Từ khoá 'động' sắp tới trong .net 4.0 sẽ làm cho cuộc sống của tôi tốt hơn như thế nào?
- 10. WPF INotifyPropertyChanged hoạt động như thế nào?
- 11. Cuộc sống không có giao dịch (MyISAM)
- 12. Ruby 1.9, YAML, và mã hóa chuỗi: làm thế nào để sống một cuộc sống của sự tỉnh táo?
- 13. WPF MVVM: ViewModels giao tiếp với nhau như thế nào?
- 14. Cuộc sống phát triển không thoải mái với git submodule
- 15. Làm thế nào để bạn thực hiện kết nối AppBar (với cạnh màn hình, như WinAmp) trong WPF?
- 16. Hoàn tác bên trong WPF M-V-VM, nó phù hợp như thế nào?
- 17. Đẹp nhỏ ví dụ lập trình thực tế cuộc sống đơn giản trong Haskell?
- 18. WPF ổn định như thế nào?
- 19. Làm thế nào để bạn hòa giải IDisposable và IoC?
- 20. Tích hợp EventMachine & Rails như thế nào?
- 21. Perl :: Critic: Cuộc sống sau khi Moose?
- 22. Cuộc gọi hệ thống trong Linux được thực hiện như thế nào?
- 23. Làm thế nào để tạo ComboBox như UserControl trong WPF
- 24. Làm thế nào để tối ưu hóa trò chơi cuộc sống của Conway cho CUDA?
- 25. Cuộc sống Phạm vi tạm thời biến
- 26. Làm thế nào để sống với Visual Source Safe 2005?
- 27. Grizzly phù hợp với Glassfish như thế nào?
- 28. Giá trị phù hợp cho eCPM trong Hòa giải AdMob
- 29. Các ứng dụng Java được triển khai như thế nào trong "thế giới thực"?
- 30. Làm thế nào để tái hòa nhập một chi nhánh SVN vào thân cây với Netbeans?
Có lẽ, mọi thứ đã thay đổi kể từ đó? –