Ana Menü
· Ana Sayfa
· Dosyalar
· Dökümanlar
· Forum
· Günün Resmi
· Haber Arşivi
· WWW Linkleri
· Üye Listesi

     Forumlar

 strncpy ve strncpy_s
 Konu adi : Borland c++ Builder ile Amiral Batti
 Rady10 - YerliOyun
 Kabusta Kaybolmak
 Konsol da programı bekletmek
 Oyun programlama icin hangi programlama dilli ?
 flash! şanlıurfa bilgisayar oyununda(no rapid)
 Sevgilim Olur musun?
 Directx'e başlamak isteyenler bi bakın
 PSP programlama
 Flash tan php
 Bilgisyr oyunu yapmam için üniverstde hangi bölüme girmeliym
 www.arshiv.gen.ms
 Cimg.h ilgilenenler icin
 müttefik oyunu

Konu Disi
 Emraah
 Yeni sitemiz açıldı
 Kalp krizi durumunda ne yapılmalı?
 Oyun sektöründe hangi görevde çalışmak isterdiniz?
 Takım arkadaşı sorunu
 msn de renklı nıck
 pc hata veriyor ! YARDIM!!
 Gülmek isteyenler Buraya
 İnanılmaz hl 2 modu görüntüsü
 Computer Languages History

[ Forumlara Git ]


Blitz3d - Başlangıç

(2051 kelime)
(782 okuma)   Yazdırılabilir Sayfa




Blitz3d Nedir?

Blitz3D sanıldığının aksine hazır bir 3d motor değildir. Blitz3D; DirectX7 teknolojisinin üzerine kurulmuş, 3d, 2d, network dallarında hazır komutlar barındıran bir programlama ortamıdır.Günümüzün güçlü programlama dilleri
ile yapabileceğiniz herşeyi Blitz3d ile de yapabilirsiniz.Blitz3d'nin avantajları nelerdir? Öncelikle programcının
yükünün büyük bir kısmını üzerine alır ve oyunu şekillendirme işini size bırakır.Bunun yanında, öğrenmesi basittir. Compiler'ın içinde tüm komutları açıklayan ve her komut için örnek barındıran bir yardım bölümü mevcuttur.Ucuzdur, hazır motorlar veya programlama ortamları ele alındığında $100 fazla bir para değildir.Pek çok dosyaya desteği vardır, bunların arasında .3ds, .X, .MD2, .B3D, tüm resim formatları, .raw, .wav, .mp3, .ogg, .gif, .avi, .mpeg de bulunmaktadır. External .dll lere desteği vardır.Böylece C++ ile hazırladığınız herhangi bir kütüphaneyi programa ekleyebilirsiniz. Çeşitli fizik motorlarına da desteği .dll desteği sayesinde bulunmaktadır.

Yani sizin anlayacağınız, minimum 3-4 kişilik bir grupla 6 - 12 ay süre zarfında full time çalışarak kaliteli
oyunlar hazırlanabilecek bir programlama aracıdır Blitz3d.Bu kadar açıklama yeter şimdi biraz kodlara ve syntax'a bakalım.

Blitz3d ile Programlama

Klasik "Hello World!" programını yazmayan yoktur sanırım.Eğer yazmadıysanız bu ilk olacak, yok yazdıysanız bir de Blitz3d ile yazmış olacaksınız.

(not:Blitz3d ile comment [açıklama satırı]vermek için ";" kullanılır.)

;Kod:
;///////////////////////

AppTitle "Hello World Programı" ;Bu satır ile pencere başlığında ve araç çubuğunda yazacak program
;ismi belirlenir.

Graphics3d 800,600,16,2 ;Direct3d hazır hale getirilir.Ekran çözünürlüğü, renk derinliği ve pencere modu
;ayarlanır.Pencere modu; 1 - Tam ekran, 2 - sabit pencerede, 3 - Büyütülüp küçül-
;tülebilir pencere olarak ayarlanmıştır.

SetBuffer Backbuffer() ;Double buffering aktif hale getirilir.

Hidepointer() ;Program sınırları içerisinde fare imlecinin kaldırılmasına yarar.Bu komutun kar-
;şıtı ShowPointer() dır.

Cls ;Bu komut ekranın temizlenmesine yarar.Clear Screen anlamına gelir.Dos sistemine
;aşina olanlarınız anlayacaklardır zaten...

Print "Hello World!" ;Print komutu ekrana birşeyler yazdırmak için kullanılır.



While Not Keyhit(1) ;Burası programın döngüsünün başladığı yer.Bu satırda programa şunu söylüyoruz;
;ESC tuşuna basılmadığı sürece...Bu satırın devamı döngünün içinde yazdıklarınıza
;bağlı olacak.



Wend ;Burası döngünün bittiği yer.Şimdilik döngünün içinde hiçbir komut kullanmadık.
;Çünkü tek istediğimiz şey ESC tuşuna basılana kadar programı devam ettirmek.
;Eh bunu da döngünün bu hali hallediyor.

EndGraphics ;Graphics3d ile Direct3d yi yüklemiştik bu komutla Direct3d yi kaldırıyor ve
;hafızayı boşaltıyoruz.

End ;Bu satır sayesinde programda geri kalan herşeyi hafızadan silerek kapatma
;işlemini tamamlıyoruz.




Gördüğünüz üzere Blitz3D ile kod yazmak oldukça basit.Bu sadece "Hello World" demeyin, Blitz3d nin tüm komutları ingilizce bilen birisinin anlayacağı seviyede. Şimdi isterseniz biraz da matematik işlemi yapalım...

;Kod:
;///////////////////////

Apptitle "Matematik"
Graphics3d 800,600,16,2
Setbuffer Backbuffer()
Hidepointer()

Cls

Global A_Sayisi = 5 ;Böylece global bir değişken tanımlıyoruz.Şimdilik global olması şart değil fakat
;ilerde birden fazla kaynak dosyasıyla uğraşırken include edeceğimiz kaynak
;dosyalarında bulunan değişkenler tanınsın isteyebiliriz.

B_Sayisi = 2 ;Bakın mesela buna da global eklemedim.Dediğim gibi şimdilik tek kaynak olduğu
;için fark etmeyecek.

Toplam = A_Sayisi + B_Sayisi ;Bu değişken ise iki sayının toplamını tutuyor.

print "5 + 2 = " + Toplam ;Eğer print komutunda + kullanılırsa bu demektir ki; Tırnak içinde yazılan yazının
;yanına değişkenin içerdiği değeri yazdır.

While Not Keyhit(1)


Wend
EndGraphics
End



İşte matematiğin dört işlemi de böyle basitçe uygulanabiliyor....Birde bu dökümanın sonu olarak kullanıcı girdisi
alan bir kod yazalım...

;Kod:
;///////////////////////

AppTitle "Kullanıcı Girdisi"
Graphics3d 800,600,16,2
Setbuffer Backbuffer()
Hidepointer()

Cls

kullanici_adi$ = input("Adin ne? ") ;İşte burada yeni bir komut...input komutu ile kullanıcı girdisi alabiliyoruz.
;Unutmayın ki parantez içine "+" ile bir değişken eklemesini de söyleyebiliriz.
;Dikkatinizi çektiyse burada birde $ işareti kullandık.Bu dolar işareti değişken
;türünün string olduğunu programa söyler.Eğer bu işareti eklemeseydik harfi
;değerleri bu değişken tutamayacaktı.Dolar işareti koymayın ve sonucun
; ne olacağını siz görün...

print "Senin adin " + Kullanici_adi$ ;İşte burada az önce kullanıcı girdisini tuttuğumuz değişkeni ekrana yazdırıyoruz.


While Not Keyhit(1)


Wend
EndGraphics
End


Şimdilik bu kadar Blitz3d yeter.En azından benim ilk dökümanım olduğu için daha ileri gitmem ne kadar yararlı olur bilemiyorum.Umarım yardımcı olmuşumdur.Eğer bir problem çıkmazsa daha çok döküman yazmaya çalışacağım. Sizde o zamana kadar Blitz3d ile oynayın, yardım dosyalarını falan karıştırın inanın ki bu dökümandan daha yararlı olacak.En azından ben böyle öğrendim.Hepinize kolay gelsin...
Nomax :: 2005 :: www.oyunyapimi.org
  

[ Geri Dön: Oyun Yapımı (Genel) | Bölümler İndeksi ]




Web site powered by PHP-Nuke
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Sayfa Üretimi: 0.083 Saniye