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