15 Ekim 2012 Pazartesi


[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ı();
}

}

0 yorum:

Yorum Gönder

Subscribe to RSS Feed Follow me on Twitter!