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;
}

30 Nisan 2009 Perşembe

FLASHTA XML OKUMA

Flash Xml okuma konusunda cok fazla kolaylık sunan bir action script yapısına sahiptir.Xml belgenizi swf ile aynı yere kaydettiğinizi varsayarak yazıma baslıyorum.
Örneğin yazılar.xml adında bir belgeniz var.İçeriğinde
Root olarak yazılar ve node olarak yazı var.Nodların içerik ve isim olarak özellikleri olsun.Bu nodlara ve özelliklerine ulaşmak için actionscriptte şu kodu yazınız.

var xml:XML=new XML();
xml.ignoreWhite=true;
xml.onLoad=function()
{
var nodes=this.firstChild.childNodes;
numOfItems=nodes.length;
for(var i=0;i numOfItems;i++)
{
//Burada yazı isimleri nodlardayiz.
Text1.text+=nodes[i].attributes.isim;
//Şimdi ise nodelarda olan isim özelliğiklerinin tümünü //Text1 isimli flash textboxuna yazdırmış bulunuyoruz.

}
}
Xml.Load(“yazılar.xml”);

29 Nisan 2009 Çarşamba

FLASH İLE ASPDEN VERİ ALMA

var al:LoadVars = new LoadVars();
al.onLoad = function(success) {
if(success){
var ad = this.model;//this al değişkenini gösteriyor
var soyad = this.product;
m.text=ad;
n.text=soyad;

}
}
al.load("gonderici.asp");

Burada m ve n isimli iki textboximiz var.gonderici.asp den gelen
iki stringi bunlara atıyoruz.
Asp sayfamızın içeriğide şu şekilde olmalıdır.

<@LANGUAGE="VBSCRIPT"%>

<
Response.Write "&model=kamil&"
Response.Write "&product=deneme&

>

FLASHTAN ASPX/ASP/PHP…YE VERİ GÖNDERME

Öncelikle actionscript te var gonder:LoadVars=new LoadVars();
Tanımlamasını yapın.gonder içinde aspye gondereceğimiz verileri tutup bunları gönderecek değişkendir.Sonra
gonder.yazi1=”bunu gönder”;
gonder.yazi2=”bunuda gonder”

sonra mesela gonderme işlemini bir butona atayalım.Bir buton çizin.Adını gonder_buton koyun.
gonder_buton.onRelease=function()
{
Gonder.send(“alici.aspx”,”_blank”,”POST”);
}
Buraya kadar flash istediğimiz verileri gönderiri.
Kısacası flash şimdi boş bir sayfa açacak ve sayfanın urlsi şu şekilde olcak
Flashın bulunduğu adres+alici.aspx?&yazi1=bunu%20gönder&yazi2=bunuda%20gönder
Burada flashla işimiz bitti.
Alici.aspx te Request.QueryString(“yazi1”) şeklinde değişkenlerimizin değerlerini alabiliriz.Flashın gonderme işlemi asp,aspx,vs. hepsi için aynıdır.Karşı taraftan alma işi sadece farklıdır.