14 Ekim 2012 Pazar


Resim Çağırmak ve Sprite Oluşturma ;

void dbLoadImage ( char* szFilename, int iImage ) 

resim dosyası çağırmak için kullanacagımız fonksiyon

dbLoadImage ( dosya ismi , resim'e atancak index )

örnek olarak ;

dbLoadImage("kuşsol.bmp",1);

void dbSprite ( int iSprite, int iX, int iY, int iImage ) 

sprite oluşturmak için kullanacagımız fonksiyon

dbSprite ( sprite atancak index  , x pozisyon , y pozisyon , resim indexsi )

örnek olarak ;

dbSprite(1,100,100,1)

basit bir örnek ;

// Aboo67 //
// Sprite : ders -1 //

#include "DarkGDK.h"

void DarkGDK ( void ) {

dbSyncOn();
dbSyncRate(60);

// void dbLoadImage ( char* szFilename, int iImage ) 
    // dbLoadImage ( resim yolu , resim indexsi )
    dbLoadImage("kuşsol.bmp",1);
// resmimizi çağırdık resmimize 1 indexsi atatık

// void dbSprite ( int iSprite, int iX, int iY, int iImage ) 
    // dbSprite ( sprite indexsi , x pozisyonu , y pozisyonu , resim indexsi ) 
// resim'e 1 indexsini atamıştık sprite oluturmak istersek şöyle birşey olucaktır
// dbSprite ( 1,x,y,1);
// aynı imageden 2ci bir sprite oluşturmak isterseniz sprite indexsini degiştirip oluşturabilirsiniz yani
// dbSprite ( 2, x , y , 1 ) ;
// dbSprite ( 3, x , y , 1 ) ;  diye gider :)

dbSprite(1,100,100,1);
dbSprite(2,200,200,1);


while ( LoopGDK() ) {


dbSync();
}

}




Sprite Hareket Ettirme ;

void dbMoveSprite ( int iNUmber, float fVelocity ) 

dbMoveSprite ( sprite indexsi , hız ) 

if ( dbUpKey() == 1 ) {

dbMoveSprite(1,2);
                // klavyeden yukarı tuşuna basıldıgında
// sprite yukarı doğru hareket etmeye başlıcaktır
}

Sprite Animasyonu Uygulama

void dbCreateAnimatedSprite ( int iSprite, char* szFilename, int iAcross, int iDown, int iImage )

şimdi bu fonksiyonu örnek bir sprite üstünde inceleyelim 



evet gördügünüz gibi oluşturacagımız animasyon 3 kareden oluşmakta yani

dbCreateAnimatedSprite(1,"kuşsol.bmp",3,1,1);

resmi 3 kareye böldük  şimdi bu kareler arası geçiş yapıp sprite oluşturalım

void dbSetSpriteFrame ( int iSprite, int iFrame ) 

dbSetSpriteFrame ( sprite indexsi , kare indexsi )

3 kareye böldügümüz resmimizde 1ci kareye almak istersek

dbSetSpriteFrame ( 1 , 1 ) ; 

bize vericegi resim ;



2ci kareyi almak istersem 

dbSetSpriteFrame ( 1 , 2 ) ; 

bize vericegi resim ;



şimdi bu 3 kareyi art art'a oynatıp bir animasyon oluşturalım

void dbPlaySprite ( int iSprite, int iStart, int iEnd, int iDelay ) 

dbPlaySprite ( sprite indexsi , başlangıc karesi , bitiş karesi , hız )

dbPlaySprite(1,1,3,100);

bunu bir tuşa atarsak ve o tuşa basarsak animasyon oynicaktır :)

örnek ;

if ( dbLeftKey() == 1 ) {
dbRotateSprite(1,90);
dbMoveSprite(1,-2);
dbPlaySprite(1,1,3,100);
dbRotateSprite(1,0);
}

evet fark ettiyseniz sprite saydam degil saydam yapmak için kullanacagımız fonksiyon ;

void dbSetImageColorKey ( int iRed, int iGreen, int iBlue ) 

saydam yapılcak renkin kırmızı yeşil mavi degerleri biliyorsunuz ki bütün renkler bu 3 ana renkten oluşmakta peki ben bu degerleri nerden bilicem derseniz bu konuda paint bizim sıkıntımızı çözücektir



255 kırmızı , 0 yeşil , 255 mavi 

dbSetImageColorKey (kırmızı,yeşil,mavi);
dbSetImageColorKey(255,0,255); 

ve spritemiz artık saydam :)

devamında bir zemin üzerinde gider bir sprite örnegi yapacagız :)







Devamı gelicektir..

0 yorum:

Yorum Gönder

Subscribe to RSS Feed Follow me on Twitter!