2008-09-04 21 views
15

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?

+2

Có lẽ, mọi thứ đã thay đổi kể từ đó? –

Trả lời

1

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 !!!

0

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 :-)

5

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

0

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

+0

Đâ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

1

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.

http://slimdx.org/

Các vấn đề liên quan