31 Ekim 2012 Çarşamba


şimdi arkadaşlar şimdiye kadar paylaştıgım konularda kullandıgım birşeydi biraz acıklamak istedim

dbMouseX ; pencerede mouse'nin bulundugu X kordinatını bize veren fonksiyondur

int dbMouseX ( void ) 

dbMouseY ; pencerede mouse'nin bulundugu y kordinatını bize veren fonksiyondur

int dbMouseY ( void ) 

dbMouseClick : mouse'nin sol tuşuna tıklandıgında 1 degeri sağ tıklandıgında 2 degeri döner

int dbMouseClick ( void ) 



burda yapacagımı buton resmimiz 85x30 bu butonu 100x100 kordinatlarına cizdigimize göre mousemiz 185x130 kordinatları arasında ise bir işlem gerçekleştirecegiz




// ########  ##########  #########  #########   ########  #########
// ###  ###  ###     ##  ###   ###  ###   ###   ###            ###
// ########  ##########  ###   ###  ###   ###   ########     #######
// ###  ###  ###     ##  ###   ###  ###   ###   ###   ##       ### 
// ###  ###  ##########  #########  #########   ########       ###
// aboo67.blogspot.com
// www.indietr.com

#include "DarkGDK.h"

void buton () {
int x = dbMouseX(); // mouse'nin X kordinatı
int y = dbMouseY(); // mouse'nin Y kordinatı
int tık = dbMouseClick(); // mouse'nin sol tuşu ile tıklandıgında 1 degerini verir aksi taktirde 0'dır
dbText(612,20,dbStr(x)); // X pozisyonunu ekrana yazdırdık
dbText(612,91,dbStr(y)); // Y pozisyonunu ekrana yazdırdık
// şimdi bizim burda buton olarak kullanacagımız sprite'nin genişligi 85x30 ( boyu 30 eni 85 )
// sprite x100 y100 kordinatlarına cizdigimize göre x185 y130
// yani burda yapacagımız mousenin X kordinatı 100den büyük 185den kücük y kordinatı 100den büyük 130dan kücük bir aralıkta ise bir işlem gercekleştirmek
if ( x > 100 && x < 100 + 85 && y > 100 && y < 100 + 30 ) { 
 dbText(200,200,"aboo67"); // mouse bu belirledigimiz kordinatlar arasındysa ekrana bir text yazdırdık
 if ( tık == 1 ) { // bu kordinatlarda mouse sol tuşuna basılırsa
 // gerçekleştirilcek işlem
 }
}
}
void  DarkGDK ( void ) {
 dbSyncOn();
 dbSyncRate(60);
 dbSetImageColorKey(255,0,255);
 dbLoadImage("başlat.bmp",1);
 dbLoadImage("kordinat.bmp",2);
 dbSprite(1,100,100,1);
 dbSprite(2,540,20,2);
 while ( LoopGDK () ) {
  buton();
  dbSync();
 }

}



27 Ekim 2012 Cumartesi


dbHideSprite( sprite indexsi ) ; spriteyi gizlemek için kullanılır göstermek için  dbShowSprite kullanılır

void dbHideSprite ( int iSprite ) 

dbShowSprite( sprite indexsi ) ; gizlenmiş spritei göstermek için kullanılır

void dbShowSprite ( int iSprite )

dbRotateSprite ( sprite indexsi , kac derece döndürülcegi )

void dbRotateSprite ( int iSprite, float fAngle ) 



sprite 90 derece döndürdügümüzde

dbRotateSprite ( 1 , 90 ) ;





örnegin sprite üstüne bir text yazmak istiyoruz normal bir döngüde spriteler sonra cizilir yani text spritenin altında kalır



void dbDrawSpritesFirst ( void )

fonksiyonunu kullanarak önce spriteların cizilmesini sağlıyoruz bu sayede textler sonra ciziliyor spritenin üstünde duruyor




dbSizeSprite ( sprite indexsi , X pozisyon , Y pozisyon ) ; cizi olan spritenin boyutlarını degiştirmek için kullanılır

void dbSizeSprite ( int iSprite, int iX, int iY ) 


dbStretchSprite ( sprite indexsi , X , Y ) ;Bu komut verilen ölçek değerlerine göre belirlenen sprite genişletmek veya küçültmek için kullanılır. Sprite hem yatay ve dikey ölçekleme belirtmelisiniz.Ölçek değeri sıfırsa, sprite kaybolur.Ölçek değeri 100 ise, grafiğin özgün boyutuna ayarlanır.Ölçek değeri 200 olarak ayarlıysa, grafiğin boyutunu iki katına çıkacak.

void dbStretchSprite ( int iSprite, int iX, int iY ) 


dbCurrentGraphicsCard ; grafik kartının ismini ekrana yazdır

char* dbCurrentGraphicsCard$ ( void ) 

dbText(100,100, dbCurrentGraphicsCard());


dbScreenFPS ; saniyedeki kare sayısını ekrana yazdırmak için kullanılır

int dbScreenFPS ( void ) 

void FPS () {
char szFPS [ 256 ] = "";
strcpy ( szFPS, "fps = " );
strcat ( szFPS, dbStr ( dbScreenFPS ( ) ) );
dbText ( dbScreenWidth ( ) - 20 - dbTextWidth ( szFPS ), dbScreenHeight ( ) - 40, szFPS );
}

[img=700x500]http://b1210.hizliresim.com/12/v/fb59q.png[/img]

Ses İşlemlerine Gelirsek 

aynı resim cağrık cizer gibi ses dosyası cagırıp calıp veya durduruyoruz

dbLoadSound(dosya yolu , sound indexsi) ; WAV dosyalarını cagırmak için kullanılan fonksiyondur.

void dbLoadSound ( char* szFilename, int iSound ) 
void dbLoadSound ( char* szFilename, int iSound, int iFlag )

dbLoadSound("shoop.wav",1);

dbPlaySound( Sound indexsi ) ; WAV ses dosyasını calmak için kullanılır 

void dbPlaySound ( int iSound ) 
void dbPlaySound ( int iSound, int iStart ) 

dbPlaySound(1);

dbLoopSound ( sound indexsi ) ; Ses dosyası play ile oynatıldıgında 1 kez döner sesi sürekli tekrar etmek veya bellir bir süreyle sesin tekrar etmesini istiyorsak bu fonksiyonu kullanacagız

void dbLoopSound ( int iSound ) 
void dbLoopSound ( int iSound, int iStart ) 
void dbLoopSound ( int iSound, int iStart, int iEnd ) 
void dbLoopSound ( int iSound, int iStart, int iEnd, int iInitial ) 

dbLoopSound(1);

dbStopSound( sound indexsi ) ; çalan ses dosyasını durdurur

void dbStopSound ( int iSound ) 

dbStopSound(1);

dbPauseSound ( sound indexsi ) ; çalan ses dosyasını durdurur fakat tekrar devam ettirilebilir

void dbPauseSound ( int iSound ) 

dbPauseSound (1);

dbSetSoundPan ( sound indexsi , pad oranı ) ; Bu komut sol ve sağ hoparlör bularak standart sesler pan koyacaktır. Negatif bir değer sol hoparlöre ses hareket edecek, pozitif bir değer sağa doğru hareket edecektir. 3D sesleri çalışmaz panning Sound.Pan değeri -10,000 ve 10,000 arası bir tamsayı değeri olmalıdır.

void dbSetSoundPan ( int iSound, int iPan ) 

işim cıktı devamını konuya eklicem

25 Ekim 2012 Perşembe

merhaba arkadaşlar boş vakit buldum ve kafama göre bişiler yaptım envanter sistemide eklicem alt menuyu yaptım paylaşıyım dedim ona ne deniyor bilmiyorum skill bar deniyor galba :D alt menu işte bu arada dersler devam edicek böylede arada paylaşım yapıcam :)



envanter.h

int adett [5] = {0,0,0,0,0};
int eşyakod = 0;
int hasar = 20;
int pot = 0;
int x = 0;
int attır = 1;
class envanter {
public:
  void AltMenuSpriteYukle();
  void canbaryukle(int maxcan);
  void eşyaekle( int slot , int eşya , int adet ) ;
  void eşyagüncelle();
}envanterr;

void envanter::AltMenuSpriteYukle(){
    dbSprite(1,160,420,1);  // slot 1
dbSprite(2,220,420,1);  // slot 2
dbSprite(3,280,420,1);  // slot 3
dbSprite(4,340,420,1);  // slot 4
dbSprite(5,400,420,1);  // slot 5
}
void envanter::canbaryukle(int maxcan) {
int hp;
    char can [100] = "";
    char candrm [100] = "";
    hp = maxcan - hasar + pot;
if ( hp > maxcan) {
hp = maxcan;
}
    dbSizeSprite(100,hp,20);
    strcpy( can , " HP - ");
    strcat( can , dbStr(maxcan));
    strcpy( candrm , " / ");
    strcat( candrm , dbStr(hp));
    dbText(30,70,can);
    dbText(100,70,candrm);
}
void envanter::eşyaekle(int slot , int eşya , int adet){
if (slot == 1){
adett[0] = adet;
if (eşya < 1 ) {
}else{
dbSprite(10,165,425,eşya);
if ( eşya == 2) {
           eşyakod = 2;
}
}
}
if (slot == 2){
adett[1] = adet;
if (eşya < 1 ) {
}else{
dbSprite(11,225,425,eşya);
if ( eşya == 2) {
           eşyakod = 2;
}
}
}
if (slot == 3){
adett[2] = adet;
if (eşya < 1 ) {
}else{
dbSprite(12,285,425,eşya);
if ( eşya == 2) {
           eşyakod = 2;
}
}
}
if (slot == 4){
adett[3] = adet;
if (eşya < 1 ) {
}else{
dbSprite(13,345,425,eşya);
if ( eşya == 2) {
           eşyakod = 2;
}
}
}
if (slot == 5){
adett[4] = adet;
if (eşya < 1 ) {
}else{
dbSprite(14,405,425,eşya);
if ( eşya == 2) {
           eşyakod = 2;
}
}
}
}
void envanter::eşyagüncelle(){
int mx = dbMouseX();
int my = dbMouseY();
int tık = dbMouseClick();
if ( attır == 0) {
x++;
dbText(600,20,dbStr(x));
}else{
x=0;
}

for ( int i = 1 ; i < 5 ; i++){
if ( adett[i] < 0 ) {
adett[i] = 0;
}
}
dbText(600,20,dbStr(x));
dbText(190,444,dbStr(adett[0])); // slot 1
dbText(250,444,dbStr(adett[1])); // slot 2
dbText(310,444,dbStr(adett[2])); // slot 3
dbText(370,444,dbStr(adett[3])); // slot 4
dbText(430,444,dbStr(adett[4])); // slot 5
if ( x > 200 ) {
x = 0;
attır = 1;
}
if ( mx > 160  && mx < 160 + 50 && my > 420 && my < 420 + 40 ) { // slot 1
if (eşyakod == 2){ 
if (tık == 1){
if (adett[0] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[0]--;
attır = 0;
}
}
}
}
}
if ( mx > 220  && mx < 220 + 50 && my > 420 && my < 420 + 40 ) { // slot 2
if (eşyakod == 2){ 
if (tık == 1){
if (adett[1] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[1]--;
attır = 0;
}
}
}
}
}
if ( mx > 280  && mx < 280 + 50 && my > 420 && my < 420 + 40 ) { // slot 3
if (eşyakod == 2){ 
if (tık == 1){
if (adett[2] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[2]--;
attır = 0;
}
}
}
}
}
if ( mx > 340  && mx < 340 + 50 && my > 420 && my < 420 + 40 ) { // slot 4
if (eşyakod == 2){ 
if (tık == 1){
if (adett[3] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[3]--;
attır = 0;
}
}
}
}
}
if ( mx > 400 && mx < 400 + 50 && my > 420 && my < 420 + 40 ) { // slot 5
if (eşyakod == 2){ 
if (tık == 1){
if (adett[4] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[4]--;
attır = 0;
}
}
}
}
}
}


main.cpp


#include "DarkGDK.h"
#include "envanter.h"

void DarkGDK ( void ) {
    dbSyncOn();
    dbSyncRate(60);
dbSetImageColorKey(255,0,255);
dbLoadImage("slot.bmp",1);
dbLoadImage("pot.bmp",2);
dbLoadImage("canbar.bmp",3);
dbSprite(100,40,40,3);
envanterr.AltMenuSpriteYukle();
envanterr.eşyaekle(1,2,2);
envanterr.eşyaekle(2,2,5);
envanterr.eşyaekle(3,2,2);
envanterr.eşyaekle(4,2,6);
envanterr.eşyaekle(5,2,4);
dbInk(dbRGB(255,0,0),dbRGB(255,0,0));
while ( LoopGDK() ) {
        dbDrawSpritesFirst();
envanterr.eşyagüncelle();
envanterr.canbaryukle(100);
dbSync();
}

15 Ekim 2012 Pazartesi




#include "DarkGDK.h"
int hasar;
void canbar ( int maxcan){
int hp;
char can [100] = "";
char candrm [100] = "";
hp = maxcan - hasar;
dbSizeSprite(1,hp,20);
strcpy( can , " HP - ");
strcat( can , dbStr(maxcan));
strcpy( candrm , " / ");
strcat( candrm , dbStr(hp));
dbText(30,70,can);
dbText(100,70,candrm);
}

void DarkGDK ( void ) {

  dbSyncOn();
  dbSyncRate(60);
  dbLoadImage("canbar.bmp",1);
  dbSprite(1,40,40,1);
  while ( LoopGDK () ) {
  dbSync();
  canbar(100);
  }

}

hasar degerini ne yaparsanız hpden o kadar eksilcektir :) pot sistemi filan yapabilirsiniz buna kolay gelsin :)



[b]sabah sabah kalktım ders hazırlıyorum :D hadi bakalım hayırlısı

Spriteların birbiriyle ilişkileri

örnegin yapıcamız oyunda bir duvar olsun istiyoruz sprite duvara çarpınca bir işlem gercekleşmesini veya duvardan gecememesini istiyoruz o zaman kullanacagımız fonsiyon

int dbSpriteCollision ( int iSprite, int iTarget ) 


kutunun sprite indexsi 2 - duvarın ise 3 yani burda yapcagımız şey

eğer 
dbSpriteCollision(2,3) == 1  // yani sprite duvara carptıysa
// kutuyu sola dogru it yani duvardan gecemesin

if ( dbSpriteCollision(2,3) == 1 ) {
dbText(100,100,"kutuya carptin");
kutuu.sol();





Pencere İşlemleri ;

dbSetWindowTitle ; pencerenin başlığını degiştirmek için kullanılır

void dbSetWindowTitle ( char* szString ) 

dbSetWindowTitle("aboo67");

dbMaximizeWindow  ; pencereyi maxsimum büyüklügüne ulaştırır

void dbMaximizeWindow ( void ) 

dbMaximizeWindow();

dbSetWindowSize ; pencere boyutu ayarlamk için kullanılan fonsiyondur

void dbSetWindowSize ( int iWidth, int iHeight )

[code]dbSetWindowSize(100,100);[/code]

dbShowWindow ; gizlenmiş pencerenin gösterilmesi için kullanılan fonksiyondur

void dbShowWindow ( void ) 

 dbShowWindow ( ) ; 

dbHideWindow ; pencereyi gizlemek için kullanılan fonksiyondur gizlendikten sonra dbShowWindow ile görünür hale getirilebilir

Basit 2D Nesneler

dbDot ; nokta cizmemizi sağlayan fonksiyon

void dbDot ( int iX, int iY ) 
void dbDot ( int iX, int iY, int iColor ) 


dbLine ; cizgi cizmemize yarayan fonksiyon

void dbLine ( int iX1, int iY1, int iX2, int iY2 )

dbBox ; kutu cizmemizi sağlayan fonksiyon

void dbBox ( int iLeft, int iTop, int iRight, int iBottom ) 
void dbBox ( int iLeft, int iTop, int iRight, int iBottom, int iCol1, int iCol2, int iCol3, int iCol4 ) 

dbCircle ; daire cizmemizi sağlayan fonksiyon

void dbCircle ( int iX, int iY, int iRadius ) 

dbEllipse ; elips cizmemizi sağlayan fonksiyon

void dbEllipse ( int iX, int iY, int iXRadius, int iYRadius ) 


bu 2d nesnelerden bir crosshair yapalım bakalım :)

void crosshair () {
DWORD kırmızı = dbRGB(255,0,0);
DWORD mavi = dbRGB(0,0,255);
// mousenin X ve Y kordinatlarını alıyoruz
int korx = dbMouseX(); 
int kory = dbMouseY(); 
dbInk(kırmızı,mavi); // mevcut renkleri degiştiriyoruz
// mouse'nin bulundugu kordinatı ortalıcak şekilde 2 adet line ve bir daire ciziyoruz 
dbLine(korx-10,kory,korx+10,kory);
dbLine(korx,kory-10,korx,kory+10);
dbCircle(korx,kory,20);
}

basit bir oyun yaptım bunuda paylaşayım dedim :) kolay gelsin





#include "DarkGDK.h"
#include <time.h>

class kutu {
public:
void sağ (void){
dbRotateSprite(250,90);
dbMoveSprite(250,3);
dbRotateSprite(250,0);
}
void sol (void){
dbRotateSprite(250,90);
dbMoveSprite(250,-3);
dbRotateSprite(250,0);
}

void alevinkutuyacarpması (void) {
for ( int i = 0 ; i < 10 ; i++ ) {
 
if ( dbSpriteCollision(i,250) == 1) {
            
dbSetTextSize(40);
dbText(150,100,"yenildin :( ");
dbText(150,150,"aboo67 project ");
 
for ( int i = 0 ; i < 260 ; i++) {

dbDeleteSprite(i);
}

}

}

}

}kutuu;

void seviye (int a , int alx , int aly) {
int c = 100;
int d = 1000;
int yps = 0;
dbSprite(c,10,10,2);
for (int i = 0 ; i < a ; i++)
{
yps = dbSpriteY(i) + dbRnd(d);
dbSprite(i,dbRnd(500),yps,1);
dbSizeSprite(i,alx,aly);
}
}
void alev () {
for ( int i = 0; i < 40; i++){
dbMoveSprite(i,-1);
}
}
void alevsil() {
for( int i = 0 ; i < 40 ; i++)
{
if (dbSpriteY(i) > 1000 )
{
dbSprite(i,dbRnd(500),-40,1);
}
}

}

void DarkGDK ( void ) {
dbSetWindowPosition(300,50);
dbSetImageColorKey(255,0,255);
dbSetWindowSize(500,600);
dbSyncOn();
dbSyncRate(60);
dbLoadImage("kutu.bmp",81);
dbLoadImage("zemin.bmp",80);
dbSprite(200,0,440,80);
dbSprite(250,100,405,81);
    dbLoadImage("alev.bmp",1);
dbRandomize( dbTimer () );
dbSetWindowTitle("aboo67");
srand(time(NULL));
seviye(10,40,50);

while ( LoopGDK () ) {
if (dbRightKey() == 1){
kutuu.sağ();
}
if (dbLeftKey() == 1) {
kutuu.sol();
}
alev();
alevsil();
dbSync();
kutuu.alevinkutuyacarpması();
}

}

14 Ekim 2012 Pazar


arkadaşlar grip olmuşum :) biraz kötüyüm normalde aklımda daha farklı şeyler vardı fakat hic uraşasım gelmedi :)





#include "DarkGDK.h"
int menuu = 0;
void menu ( void ) {
int mx = dbMouseX();
int my = dbMouseY();
int tık = dbMouseClick();

// Oyun baslat butonu //
if (menuu == 0){
if ( mx > 100 && mx < 100 + 200 && my > 80 && my < 80 + 40 ){
dbSprite(1,110,80,1);
if (tık == 1){
    menuu++;
// butona basılınca gercekleştirmek istediginiz işlem buraya
}
}
else{
dbSprite(1,100,80,1);
}
}
// Oyun baslat butonu //

// Yapımcılar butonu //
if (menuu == 0 ) {
if ( mx > 100 && mx < 100 + 200 && my > 130 && my < 130 + 40 ){
    dbSprite(2,110,130,2);
if ( tık == 1 ){
menuu++;
// butona basılınca gercekleştirmek istediginiz işlem buraya
}
}
else{
dbSprite(2,100,130,2);
}
}

// Yapımcılar butonu //

// Çıkış butonu //
if (menuu == 0 ) {
if ( mx > 100 && mx < 100 + 200 && my > 180 && my < 180 + 40 ){
dbSprite(3,110,180,3);
if ( tık == 1 ){
    menuu++;
// butona basılınca gercekleştirmek istediginiz işlem buraya
}
}
else{
dbSprite(3,100,180,3);
}
// Çıkış butonu //
}
}


void DarkGDK ( void ) {
dbSyncOn();
dbSyncRate(60);
dbSetWindowSize(400,400);
dbLoadImage("başlabutton.png",1);
dbLoadImage("yapımcıbutton.png",2);
dbLoadImage("cıkısbutton.png",3);
dbSprite(1,100,80,1);
    dbSprite(2,100,130,2);
dbSprite(3,100,180,3);
while ( LoopGDK() ) {
menu();
dbSync();
}
for ( int i = 1 ; i < 10 ; i++ ) {
dbDeleteSprite(i);
dbDeleteImage(i);
}
}

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..

13 Ekim 2012 Cumartesi


1) Microsoft's Visual C++ 2008 Express

2) August 2007 DirectX 9.0c SDK

3) Download Dark GDK 



#include "DarkGDK.h"
void DarkGDK ( void )
{
dbSyncOn   ( );
dbSyncRate ( 60 );
while ( LoopGDK ( ) )
{
dbText(100,100,"Hello World");
dbSync ( );
}
return;
}


----------------------------------

dbSyncOn; Bu komut  program ekranın yenilenmesini sağlamak için kullanılır

void dbSyncOn ( void )

-----------------------------------

dbSyncRate; ekranı yenileme hızı (FPS)

void dbSyncRate ( int iRate )

----------------------------------

dbText; Bu komut ekranda belirtilen koordinatlarda geçerli metin ayarlarını kullanarak bir dize cıktısı vercektir

void dbText ( int iX, int iY, char* szString )

----------------------------------



8 Ekim 2012 Pazartesi


yakında c++ ve vb dersleri başlıcaktır iyi günler
Subscribe to RSS Feed Follow me on Twitter!