Üst MenüForum kuralları Üst MenüGenel Haberler Üst MenüSoru Sorun Üst MenüForum Takımı Üst MenüReaL Para Üst MenüVİP Bölüm Üst MenüTurnuval Forum
OyunJet Bütün Oyunlar
Yeni Konu Gönder Yeni Yorum Gönder
 
Konuyu Oyla:
  • Toplam: 29 Oy - Ortalama: 2.72
  • 1
  • 2
  • 3
  • 4
  • 5
C Allegro ders5
Yazar Konu
onba55 Çevrimdışı
Yeni Üye
*
Yeni Üye

Yorum Sayısı: 83
Edilen Teşekkürler: 2
Alınan Teşekkürler:
0 mesajında 0 kere
Üyelik Tarihi: 12-05-2012

Rep Puanı: 55
ReaL Para: -1051.70
Yorum: #1
C Allegro ders5
Merhaba arkadaşlar bu dersimizde resimlerde saydamlaştırmak için masked_blit,allegro_message fonksiyonu ve fare kontrollerini göreceğiz.
masked_blit
Şimdi oyunlarımızdaki grafiklerde bazı yerlerin silinmesini isteriz.Vede kullanımı blit ile aynı Gülümseme.Yani resmin arkası beyaz kalmasın öyle Gülümseme.Ama burdan dikkat etmemiz gereken bir şey var silincek yerler 255,0,255 reginde olmalı yani bu renk [Resim: 65nyt.jpg] .Şimdi bir örnek yapalım Gülümseme.

adam.bmp
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
#include <allegro.h>

void init();
void deinit();

int main() {
    
init();
    
BITMAP *ekran =create_bitmap (640,480);
    
BITMAP *adam load_bitmap ("adam.bmp",NULL);
    while (!
key[KEY_ESC]) {
        
masked_blit(adam,ekran,0,0,300,300,100,100);
        
blit(ekran,screen,0,0,0,0,640,480);
    }

    
deinit();
    return 
0;
}
END_OF_MAIN()

void init() {
    
int depthres;
    
allegro_init();
    
depth desktop_color_depth();
    if (
depth == 0depth 32;
    
set_color_depth(depth);
    
res set_gfx_mode(GFX_AUTODETECT_WINDOWED64048000);
    if (
res != 0) {
        
allegro_message(allegro_error);
        exit(-
1);
    }

    
install_timer();
    
install_keyboard();
    
install_mouse();
    
/* add other initializations here */
}

void deinit() {
    
clear_keybuf();
    
/* add other deinitializations here */


Sonuç:
[Resim: 65pmt.jpg]
allegro_message

[size=10]allegro_message(yazı);

İsmindende anlaşılacağı gibi mesaj kutusu Gülümseme.

[/size]
#include <allegro.h>

void init();
void deinit();

int main() {
    
init();
    
//allegro_message(yazı);
    
while (!key[KEY_ESC]) {
        
allegro_message("Onba55 allegro dersleri");
    }

    
deinit();
    return 
0;
}
END_OF_MAIN()

void init() {
    
int depthres;
    
allegro_init();
    
depth desktop_color_depth();
    if (
depth == 0depth 32;
    
set_color_depth(depth);
    
res set_gfx_mode(GFX_AUTODETECT_WINDOWED64048000);
    if (
res != 0) {
        
allegro_message(allegro_error);
        exit(-
1);
    }

    
install_timer();
    
install_keyboard();
    
install_mouse();
    
/* add other initializations here */
}

void deinit() {
    
clear_keybuf();
    
/* add other deinitializations here */

[size=10]
Sonuç:

[/size]http://e1205.hizliresim.com/x/m/65krd.jpg

Fare kontrolleri

Bu konumuzda farenin oyun penceresinde gözükmesini,farenin x ve y kordinat değişkenlerini ve farenin sol veya sağ tuşlarına basılıp basılmadığını kontrol ettireceğiz.

show_mouse(gözükçek yer);

Bu fonksiyon farenin gözükmesi sağlayacak.

#include <allegro.h>

void init();
void deinit();

int main() {
    
init();
    
BITMAP *ekran =create_bitmap (640,480);
    
//show_mouse(gözükçek yer);
    
while (!key[KEY_ESC]) {
        
rectfill(ekran,0,0,640,480,makecol(255,255,255));
        
show_mouse(ekran);
        
blit(ekran,screen,0,0,0,0,640,480);
    }

    
deinit();
    return 
0;
}
END_OF_MAIN()

void init() {
    
int depthres;
    
allegro_init();
    
depth desktop_color_depth();
    if (
depth == 0depth 32;
    
set_color_depth(depth);
    
res set_gfx_mode(GFX_AUTODETECT_WINDOWED64048000);
    if (
res != 0) {
        
allegro_message(allegro_error);
        exit(-
1);
    }

    
install_timer();
    
install_keyboard();
    
install_mouse();
    
/* add other initializations here */
}

void deinit() {
    
clear_keybuf();
    
/* add other deinitializations here */


Şimdi dikkat etmemiz gereken bir şey fareyi ekrana değişkenine bastırdığımız için en son bastırmalıyız yoksa sonra basılan resim öne geçer.İsterseniz deneyin görün Açık Ağızlı Gülümseme.

Birde resim:

[Resim: 65mbb.jpg]

set_mouse_sprite(bitmap)
Bu fonksiyon ise fare imlecini değişmemizi sağlar.Bundada masked_blit teki gibi 255,0,255 rengi silinir.

fare.bmp
[Resim: 65qbk.jpg]

#include <allegro.h>

void init();
void deinit();

int main() {
    
init();
    
BITMAP *ekran =create_bitmap (640,480);
    
BITMAP *fare load_bitmap ("fare.bmp",NULL);
    while (!
key[KEY_ESC]) {
        
show_mouse(ekran);
        
set_mouse_sprite(fare);
        
blit(ekran,screen,0,0,0,0,640,480);
    }

    
deinit();
    return 
0;
}
END_OF_MAIN()

void init() {
    
int depthres;
    
allegro_init();
    
depth desktop_color_depth();
    if (
depth == 0depth 32;
    
set_color_depth(depth);
    
res set_gfx_mode(GFX_AUTODETECT_WINDOWED64048000);
    if (
res != 0) {
        
allegro_message(allegro_error);
        exit(-
1);
    }

    
install_timer();
    
install_keyboard();
    
install_mouse();
    
/* add other initializations here */
}

void deinit() {
    
clear_keybuf();
    
/* add other deinitializations here */


Sonuç:
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Bu ders uzun oldu yarın devam edelim Gülümseme.

Not:Maksimum 10 resim sınırı olduğu için üç resmi link olarak verdim

Başka bir forumu yazıp buraya yapıştır yaptığım için puntolarda hata olmuş Kafası Karışmış.
(Bu konu en son: 19-05-2012 tarihinde, saat: 13:30 düzenlenmiştir. Konuyu düzenleyen: onba55.)
19-05-2012 13:28
kullanıcının tüm mesajlarını bul Teşekkür Et Alıntı ile Cevapla
Oyuncu Çevrimdışı
Unity 3d - Ses & Dj
*
Yeni Üye

Yorum Sayısı: 2,693
Edilen Teşekkürler: 268
Alınan Teşekkürler:
112 mesajında 137 kere
Üyelik Tarihi: 29-03-2012

Rep Puanı: 811
ReaL Para: 1691.10
Yorum: #2
RE: C Allegro ders5
Olsun. Yine süper anlatmışsın eline sağlık Açık Ağızlı Gülümseme

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
19-05-2012 14:00
kullanıcının tüm mesajlarını bul Teşekkür Et Alıntı ile Cevapla
Yeni Konu Gönder Yeni Yorum Gönder


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  C allegro ders8 onba55 6 2,426 28-07-2012 14:44
Son Yorum: Oyuncu
  Allegro fps sayaç onba55 6 2,218 08-06-2012 15:54
Son Yorum: Oyuncu
  C Allegro ders6 onba55 8 3,215 08-06-2012 10:50
Son Yorum: Oyuncu
  C allegro ders7 onba55 4 1,909 03-06-2012 12:58
Son Yorum: Sado
  C Allegro ders1 onba55 4 2,166 28-05-2012 20:27
Son Yorum: onba55

Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi


Kurucu » Yönetici » Üst Yetkili » Yetkili » Platin Üye » Gold Üye » Silver Üye » Yeni Üye » Yasaklı Üye

Dost Linkler
İletişimReaLses Yukarı GitArşivRSS Beslemesi