Önceki başlık :: Sonraki başlık |
Yazar |
Mesaj |
ozangumus

Kayıt: Dec 28, 2002 Mesajlar: 38 Nereden: İzmir/Ankara
|
Tarih: Sun May 29, 2005 10:48 pm Mesaj konusu: DelphiX + Sprite |
|
|
Sorumu olabildiğince basit bir şekilde sormaya çalışacağım:
Genelde oyunların resimlerini açıp incelersek birbiri ile alakalı resimlerin tek tek bulunmak yerine birleşik tek bir büyük resim içerisinde olduğunu görürüz. Örnek olarak Civilization 3 oyunundaki tüm 48 * 32'lik 256 küçük yol resmi yaklaşık 1000 * 600'lük bir başka büyük resim içerisinde bulunmakta. Fakat DelphiX kullanırken resimleri tek tek DXImageList nesnesine atmak gerekiyor. Daha sonra da atılan bu resimler tek tek kullanılabiliyor.
Yapacağım programda mesela 100 tane yol resmi, 100 tane ağaç resmi, 100 tane ünite resmi olduğunu düşünelim. Ben programımdaki DXImageList'e 300 tane ImageListComponent eklemek istemiyorum. Üç büyük sprite hazırlamak ve resimlerimi bunlardan keserek kullanmak bu şekilde çizim yapmak istiyorum.
Tek tek DXImageList' e resim eklenince exe dosyasının boyutu da eklenen resmin boyutu kadar artıyor. Başka bir yol daha olmalı çünkü çok sayıda resim içeren bir programın exe'si çok büyük boyutlara ulaşır bu şekilde.
Nasıl bir yol izlemem gerektiğini bilen var mı? Örnek kod olursa çok iyi olur. Ya da örnek kodu nereden bulabilirim? |
|
Başa dön |
|
 |
MD-C

Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
|
Tarih: Mon May 30, 2005 7:12 pm Mesaj konusu: |
|
|
Delphi'de bilmiyorum ama C/C++ ta:
Önce Doku kordinatları bir dosyadan okunur, daha sonra aynı dosyada kaç adet resim olduğu öğrenilir, kod içinde resimleri tutacak kadar dinamik dizi tanımlanır, daha sonra bu dizi, dosyadan okunan doku kordinatları ile pekiştirilir... |
|
Başa dön |
|
 |
ozangumus

Kayıt: Dec 28, 2002 Mesajlar: 38 Nereden: İzmir/Ankara
|
Tarih: Tue May 31, 2005 12:06 am Mesaj konusu: |
|
|
TDirectDrawSurface kullanmam gerektiğini öğrendim. DelphiX ile yapılan oyun fazla sayıda resme ihtiyaç duymuyorsa direk TImageList ile TImageListComponent kullanabiliyoruz fakat çok sayıda resim için kullanılması gereken TDirectDrawSurface'miş. TDirectDrawSurface'lere resmi LoadFromFile fonksiyonu ile veya LoadFromStream fonksiyonu ile ataya da biliyoruz. |
|
Başa dön |
|
 |
|