![]() |
![]() |
||||||||||||||||||||||||||||||
|
SDL ile farklı image formatlarını kullanmak ve olay yapısına giriş Bu bölümde sdl farklı image formatlarını kullanmak ve olay yapısına giriş konularından bahsedeceğiz.
SDL standart olarak bmp formatını desteklemektedir.Ancak eklenecek üçüncü parti lib ler ile png gibi yeni formatlar kolaylıkla kullanılabilir. Bunun için sdl in sitesinden gerekli kütüphaneleri indirmeniz yeterlidir.Ben visual studio için http://www.libsdl.org/projects/SDL_image/ sitesinden SDL_image-devel-1.2.7-VC9.zip paketini indirip,include klasöründeki .h dosyasını sdl klasörümüzdeki include içine,.dll dosyalarını system32 klasörüne ve .lib dosyalarınıda sdl deki lib klasörümüzün içine kopyalayarak yeni kütüphanelerimizi eklemiş oldum.Bundan sonraki yeni kütüphane eklemelerde bu şekilde davranılacaktır. Bu kütüphaneleri ekledikten sonra dikkat edilecek husus eklenen kütüphanelere karşılık gelen lib dosyalarının project in özelliklerindeki linker-input-additional dependicies ede eklemektir. Geçen dersimiz de SDL_LoadBMP ile resim dosyasını yükleyebiliyorduk.Peki bir png dosyasını yüklemek istesek projemizde nasıl bir değişiklik olacak ? Aşağıda görülen kodumuzda resim formatlarının .png uzantılı olduğunu ve yükleme fonskiyonu olarak da IMG_Load fonskiyonu kullandığımız görülebilir.Bunları yapabilmek için SDL_image.h eklenmiş olması gerekir.Bu header file içinde proje ayarlarımızda linker a SDL_image.lib kütüphanesinin eklenmiş olması gerekir.Sonuçta projemizin linker-additional dependicies sinde sdl.lib sdlmain.lib ve sdl_image.lib bulunacaktır. Kaynak kod: Olay [Event] gerçekleşen herhangi bir durumdur.Yani klavyeden bir tuşa basmak , mouse un hareketi ya da butonlarından birine basmak ya da pencerenin kapatılması ya da hareket ettirilmesi gibi durumların hepsi birer olaydır.SDL olay tabanlı programlama yı destekler. SDL de olay bilgisini tutan tip SDL_Event yapısıdır.Bu yapı üzerinden olayın türüne göre gereken bilgilere erişebilirsiniz. Olaylar ortaya çıktıkça bir kuyruk yapısına gönderilirler.SDL_PollEvent fonskiyonunu kullanarak bu kuyruk yapısından olaylar tek tek çekilir ve işlenirler. Şimdi olay yapısını açıklayan bir örnek verelim: Kodumuz incelendiğinde çoğunlukla önceki örneklerle aynı.Ancak bu defa kullanıcının çıkma isteği olmadığı sürece oluşturulan penceremiz gösterilmeye devam edecek.Örnek te görüldüğü gibi quit false olduğu sürece penceremiz görüntüleniyor.SDL_PollEvent(&event) fonksiyonu ile gerçeklenen olaylar event nesnesine aktarılıyor.Eğer event.type == SDL_QUIT ise çıkılıyor.Burda type ın karşılığı her hangi bir olay tipi olabilir.Yani keypress gibi.... hakan gedek hgedek@gmail.com YorumlarHiç yorum yapılmamış |
|||||||||||||||||||||||||||||||
![]() |
![]() |
||||||||||||||||||||||||||||||