4 Mayıs 2009 Pazartesi

Xna dkullanarak 3 boyutlu oyun yapımı tutorial

www.oyunyazarim.com adresinde Xna çözümler kısmında 3 boyutlu bir oyuna modelleri yaratarak başlayıp oyunu tamamlama aşamasına kadar neler yapılmalı, ne tip zorluklarla karşılaştım ve çözümleri nelerdir gibi aşamaları anlatan uzun bir yazim bulunmaktadır.Xna ile oyun yapmayı düşünen arakadaşlara şiddetle tavsiye ederim.

3ds max ücretsiz modeller

3ds maxte yapılmış ücretsiz ev,bina,hastahane, okul, cami, üniversite modellerini www.oyunyazarim.com adresinde downloadslardan indirebilirsiniz.

Türk yapımı 3d oyun 2009

Xna kullanarak yaptığım 3 boyutlu oyunu denemenizi tavsiye ederim.www.oyunyazarim.com adresindde downloadslarda oyunu indirebilirsiniz.

1 Mayıs 2009 Cuma

XNA LOAD/SAVE GAME DATA

Bu işlem için öncelikle bir storegame sınıfı oluşturmalıyız.Zaten bu sınıf tün işlemlerimizi yapacaktır.Bize sadece değişkenleri atamak kalacak.

[Serializable]
public struct SaveGameData
{
public Mission[] missions;
public int year, month, totalInjectionCount;
public List totalPopulation;
public GamePlayer me;
public List buildings;
public ControlValues controlvalues;
public List roads;
public List carroads;
}

class StoreGame
{
       public void DoSaveGame(StorageDevice device, SaveGameData m)
{
// yüklenecek datayı oluştur
SaveGameData data = m;
        // Bir storage container oluştur
StorageContainer container =
device.OpenContainer("A Peaceful Dream");
        // Kayıt dosyasını nereye oluşturacağını gir
string filename = Path.Combine(container.Path, "savegame.xml");
        // Belirlediğin xml i aç yoksa yarat.
FileStream stream = File.Open(filename, FileMode.Create);
// veriyi xml datasına çevir
XmlSerializer sf = new XmlSerializer(typeof(SaveGameData));

        // dosyayı kapat
stream.Close();
        // containerı dispose et
container.Dispose();
}

public SaveGameData LoadGame(StorageDevice device)
{
SaveGameData ret = new SaveGameData();
StorageContainer container =
device.OpenContainer("A Peaceful Dream");
// savegamin adresini al.
string filename = Path.Combine(container.Path, "savegame.xml");
FileStream file = File.Open(
filename, FileMode.Open, FileAccess.Read);
XmlSerializer serializer = new XmlSerializer(typeof(SaveGameData));
ret = (SaveGameData)serializer.Deserialize(file);
file.Close();
return ret;
}
}
}

Storage sınıfımızı oluşturduktan sonra oyun içinde neleri kaydedeceğimizi ayarlayıp DoSaveGame dememiz yeterli.

public static void SaveGame()
{
savegamedata = new SaveGameData();
savegamedata.buildings = buildings;
savegamedata.carroads = carroads;
savegamedata.controlvalues = controlValues;
savegamedata.me = me;
savegamedata.missions = missions;
savegamedata.month = month;
savegamedata.roads = roads;
savegamedata.totalInjectionCount = totalInjectionCount;
savegamedata.totalPopulation = totalPopulation;
savegamedata.year = year;
storegame.DoSaveGame(device,savegamedata);

}
public SaveGameData LoadGame()
{
return storegame.LoadGame(device);
// buildings = savegamedata.buildings;
}