Visual Studio açın ve bir XNA Game Studio projesi yaratın. Solution Sekmesindeki ağaç yapıda "Content" e sağ tıklayıp projenize bir resim dosyası ekleyin. (Benim tercihim .png formatı) ve daha sonra "Properties" sekmesinde bu dosyanın özelliklerinden "Asset Name" i "deneme" olarak değiştirin. Böylece Xna Game Studio bu resim dosyasını .XNB formatına dönüştürecek. ve sıra kodlarda : //İlk olarak yükleyeceğimiz resmi ekranda göstermek için //bir SpriteBatch tanımlıyoruz ... private SpriteBatch spriteBatch; //Sonra Texture2D sınıfından texturemizi tanımlıyoruz private Texture2D myTexture; //Texturemizin ekrandaki Pozisyonu (Vector2 sınıfı ile) private Vector2 Position; //Texturemizin ne kadar Scale edileceği (yani büyültüp küçültme oranı) // 1 verildiğinde eni ile boyunu 1 ile çarpar yani uzunluğu ve genişliğinde // bir değişme olmaz private float Scale; //Origin değeri yani merkez noktası private Vector2 Origin; //Şimdide Rotation yani döndürme açısı (orjine e göre) private float Rotation; //Texturemizin ekstra rengi yani White = Beyaz verilirse renk değişmez private Color color; //Texturemizin SourceRectangle değeri yani resmin tam olarak texturenin ne kadar //bir kısmının gösterileceğini belirle //Source Rectangle => X, Y, Width, Height değerlerini alır. //X, Y den başlayark Width ve Height değerleri boyunca devam eder private Rectangle Source; //Yüklediğimiz resmin asset name i private string AssetName = "deneme"; Nesnelerimizi tanımladık şimdi yapacağımız işlemler: 1-Initialize() -> Oyun hazırlanırken ilk değerlerimizi veriyoruz 2-LoadContent() -> bu metod ile texture nesnemizi yükleyeceğiz 3-Draw() -> bu metod ile texture nesnemizi yani resmimizi ekranda göstereceğiz protected override void Initialize() { this.Scale = 1.0f; this.Position = new Vector2(100, 100); this.Origin = Vector2.Zero; this.color = Color.White; this.Rotation = 0f; base.Initialize(); } protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); myTexture = Content.Load(AssetName); //Bu değeri Initialize metodunda veremedik çünkü texture uzunluk ve yükseklik //değerini yüklenen resim den alacağımız için ve resim LoadContent() metodunda //yüklendiği için şimdi veriyoruz. this.Source = new Rectangle(0, 0, this.myTexture.Width, this.myTexture.Height); } protected override void Draw() { graphics.GraphicsDevice.Clear(Color.CornflowerBlue); //SpriteBatch nesnemizin render işlemine start veriyoruz spriteBatch.Begin(); //Ve Texture render ediliyor. spriteBatch.Draw(myTexture, this.Position, this.Source, this.Color, this.Rotation, this.Origin, this.Scale, SpriteEffects.None, 0); //SpriteBatch nesnemizin render işlemine son veriyoruz spriteBatch.End(); } kodların hepsini vermedim sadece gerekli blokları yazdım. Çünkü böylesi sizin için daha iyi XNA Game Studio'u açtığınızda karşınıza hazır kodlar gelecektir. Bütün kodu yümüyle kopyalayıp yazmak öğrenme açısından iyi değildir. Kodları yerine kendiniz ilk önceleri bakarak yazın ve "RUn" komutunu verip çalıştırın. Böylece kodu deneyip ne yapabildiğinizi görürsünüz. Zaten sonraları da değiştirmek ve geliştirmek isteyeceksiniz bu arada da belki yüzlerce hata mesajı alacaksınız ama sonunda anlayarak, deneyerek, görerek öğrenmiş olacaksınız. yazar: Caner DEMİRCİ (( devamı gelecek ... ))
2 Haziran 2008 Pazartesi
XNA'da Texture Yüklemek ve Render Etmek
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder