Makale Özeti

Bu makalede Silversprite kullanarak XNA oyunlarını Silverlight üzerinden nasıl yayınlayacağımızı inceleyeceğiz.

Makale

XNA oyunlarını Silverlight üzerinden yayınlamak

.NET dünyasında daha önce oyun programlamayla uğraşanlar mutlaka XNA adını duymuştur.XNA,Microsoftun oyun dünyası için geliştirmiş olduğu bir frameworktür.XNA ile  Windows, XBOX 360 ve ZUNE platformlarında çalışan oyunlar geliştirebilirsiniz ayrıca yazımın da başlığını oluşturan Silversprite kütüphanesiyle XNA uygulamanızı Silverlight sahnesine taşıyarak web oyunları yaratabilirsiniz.

Öncelikle XNA oyunları yaratabilmek için XNA Game Studio’yu sistemimize kurmamız gerekiyor.Tabiki kodlama için de sisteminizde Microsoft Visual Studio olması gerekli.

XNA oyunları hakkında ayrıntılı bilgiyi nette kolaylıkla bulabilirsiniz.Şimdi XNA ile bir oyun oluşturup bunu Silverlight ortamına taşıyalım.

Proje oluşturma aşamasında hangi platformda oyun geliştirmek istiyorsak bunu seçiyoruz.

Oluşturduğumuz oyunu Silverlight ortamına taşımak için birtakım işlemler uygulayacağız ve isterseniz adım adım bir XNA oyununu Silverlight ortamına taşıyalım.

Öncelikle Silversprite kütüphanesini indiriyoruz daha sonra indirdiğimiz bu dll’leri uygulamamıza referans olarak vereceğiz.

Bir Silverlight projesi oluşturalım.

Uygulamamıza indirdiğimiz dll’leri referans olarak ekliyoruz.

Daha sonra XNA oyunumuzun kodlarının bulunduğunu klasördeki (WindowsGame1) tüm dosyaları Silverlight uygulamamıza kopyalıyoruz.

Yukarıdaki işlemleri yaptıktan sonra Silverlight tarafında MainPage.xaml içerisindeki kodları silip aşağıdaki kodu ekliyoruz.

<UserControl x:Class="silversprite_test.MainPage"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Width="400" Height="300" xmlns:game="clr-namespace:WindowsGame1" >

    <Grid x:Name="LayoutRoot" Background="White">

        <Canvas>

            <game:Game1 x:Name="game"/>

        </Canvas>

    </Grid>

</UserControl>

Tek problemimiz kaldı o da XNA tarafında kullandığımız content nesnelerinin Silverlight tarafına aktarılması bunu da Silverlight uygulamanıza bir Content klasörü ekleyip daha sonra XNA oyunumuzda kullandığımız resim,müzik vb dosyaları alıp Silverlight uygulamamızdaki Content klasörüne kopyalıyoruz ve bu dosyaların build action özelliği Content olarak değiştiriyoruz.

Artık uygulamamızı çalıştırıp oyun oynamanın keyfine varabiliriz J

Silversprite hakkında unutmadan birkaç cümle daha kurmak gerekir.Silversprite şu an için sadece 2D desteği vermektedir  yani 3D oyunlarınızı Silverlight ortamına taşıyamazsınız.Ayrıca Silversprite kütüphanesi,sadece Silverlight 3.0 ile uyumludur