Thread overview
Raylib ile D'de Kodlama/Kurulum
Mar 21, 2022
Salih Dincer
Mar 21, 2022
Salih Dincer
March 21, 2022

Merhaba,

Linux işletim sisteminde (örn. Debian/Pardus ile) www.dlang.org ana sayfasındaki .deb uzantılı dosyayı paket yöneticinizi kullanarak kurduğunuzu varsayıyoruz. Henüz D'ye sıfırdan başlamış olsanız bile şuradaki yönergeleri takip edebilir ve kendi dağıtımınız ve/veya OS için uygun kuruluma erişebilirsiniz.

Bu işlere başlamanın en kestirmesi ise yukarda işaret edildiği gibi paketlenmiş ve kuruluma hazır dosyaları çalıştırmak. Bunlar tıpkı Windows'daki MSI ve/veya EXE uzantılı dosyalara benzer. Yüklemeler bittiğininde şu 2 şeye sahip olacaksınız:

  • dmd - D Compiler
  • dub - D Language's Official Package Manager

Bütün yükleme, derleme ve yayınlama işlerinizi dub yardımıyla yapacağınızdan terminal/komut istemi penceresi içindeyken dub komutunun çalıştığından emin olun. İlgili yönergeler ise şurada:

https://dub.pm/getting_started

Tabii ki henüz Raylib için ilgili yüklemelere başlamadık. O yüzden ya kendi sitesindeki yönergeleri takip edin ya da bu satırları okuma amacınıza hizmet eden şu kestirme komutları sırasıyla uygulayın:

Kurulum için gerekli araçlar

// Her zaman ki gibi önce güncelleme:
sudo apt update

sudo apt install build-essential git

sudo apt install cmake
// cmake zaten sisteminizde olabilir?

Ses, OpenGL ve X11 kütüphaneleri

sudo apt install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev

Raylib kaynak dosyaları

git clone https://github.com/raysan5/raylib.git raylib

cd raylib/src/

Not: Burada çok dosya (örnekler bile burda) var, biraz sabır lütfen. Neredeyse ihtiyacımız olan her şey bilgisayarımıza inmek üzere.

CMAKE kurulumu (statik olan önerilir)

make PLATFORM=PLATFORM_DESKTOP

sudo make install

Derleme sırasında bir takım renkli yazılardan oluşan uyarılar almış olabilirsiniz. Herhangi bir hata değilse bunları önemsemeyin. Her şey düzgün kurulduysa bulunduğunuz dizinden çıkıp programlama dosyalarının nerede olmasını istiyorsanız oradayken dub init ilkOyunum komutunu girin. Bu sırada size bir takım sorular sorulacak. Bu sorular aşağıdaki JSON dosyası için. Vakit kaybetmemek adına, son satıra (dependencies kısmına) kadar enter ile geçebilirsiniz.

{
	"authors": ["isminiz"],
	"configurations": [
		{
			"libs": ["raylib"],
			"name": "linux-app",
			"platforms": ["linux"],
			"targetType": "executable"
		}
	],
	"copyright": "no copyright",
	"dependencies": { "raylib-d": "~>4.0.1" },
	"license": "no license",
	"name": "oyun ismi"
}

Her şeyi manuel veya bir yerden kopyalayarak da yapabilirsiniz ama bu yazılıma kullanmaya alışın. Örneğin yanlışlıkla son soruyu da enter ile geçtiniz diyelim. Bu esnada ilkOyunum/source dizini içinde app.d dosyası oluşacaktır. Ancak bağlısını (yani Raylib)'i belirtmemiş olacağız. Bunu yapmak veya başka bir bağlı kütüphaneyi eklemek çok kolaydır:

dub add raylib-d

Bunu yaptığınızda JSON dosyası güncellenecek ama hemen arkasından şu 2 komuttan birini girin, ikisi de aynı manaya gelir. Eğer bulunduğu dizinde her şey ayarlıysa parametre girmediğiniz için paket yöneticisi ne yapmak istediğinizi anlar:

dub
dub run

Her şey mükemmel kurulduysa, başlangıçta başka bağlısı olup olmadığını, paketlerin önceden kurulup kurulmadığını kontrol eder. İlk defa çalıştırdığınız için de tıpkı apt install sırasında yaşadığımız gibi kurulu değillerse beklemeniz gerekebilir...

Azıcık sabır daha :)

Bu sırada Steven Schveighoffer'in örneğine ve sayfasındaki yönergelere göz atmanın tam vaktidir.

Son bir şey kaldı o da yukarda konuştuğumuz ve vurgulamadığımız JSON dosyasının içine şu configurations bilgilerini eklemeniz:

"configurations": [
		{
			"libs": ["raylib"],
			"name": "linux-app",
			"platforms": ["linux"],
			"targetType": "executable"
		}
	],

Çünkü dub, bu satırları sizin için eklemiyor. Eklemediğiniz zamansa, yukarda yaptığınız tüm yüklemeleri göremiyor. En azından 2022'nin Mart ayı içinde durum bu.

Son olarak renkleri şimdilik Colors. ile başlatın. O olmadan nasıl çalıştığını henüz çözmüş değilim ama Ki Rill'in örneklerinde ihtiyaç duymadığını gördüm. Burayı veya şurada yabancı dildeki başlığı takip edin.

https://forum.dlang.org/thread/qomwsreewcwekspzkefv@forum.dlang.org

Başarılar...

March 21, 2022

On Monday, 21 March 2022 at 05:55:59 UTC, Salih Dincer wrote:

>

Merhaba,

Başarılar...

Salih Hocam,

>

https://forum.dlang.org/post/kaivxdhgyrdshccalnkt@forum.dlang.org

Başlığındaki son gönderiniz sayesinde deneyerek çözdüm. Çıktımı alınca yaptıklarımı bir kılavuz olarak yazdım.
Bu konu başlığınızı az evvel gördüm.
Bana yardımcı olmak için ettiğiniz tüm gayretlerinizden dolayı ne diyebilirim ki: "Allah razı olsun!"

Ki Rill 'in https://github.com/rillki/learn-dlang/blob/master/lesson%2311%20-%20Opening%20a%20window%20and%20drawing%20with%20Raylib/raylib_firstWindow/source/app.d sitesinde bulunan kaynak kodlarını Türkçeye çevirdikten sonra Pardus forumunda da Allah 'ın izniyle paylaşacağım.

March 21, 2022

On Monday, 21 March 2022 at 08:13:09 UTC, İsmail Emre ARIKAN wrote:

>

Başlığındaki son gönderiniz sayesinde deneyerek çözdüm. Çıktımı alınca yaptıklarımı bir kılavuz olarak yazdım.
Bu konu başlığınızı az evvel gördüm.
Bana yardımcı olmak için ettiğiniz tüm gayretlerinizden dolayı ne diyebilirim ki: "Allah razı olsun!"

Allah şevkini arttırsın ne diyebilirim. Ayrıca çözebildiğine sevindim. Zaten her şey neredeyse hazır, bunlar yapılması zor işler de değil hani.

Sırada OOP'u öğreten küçük bir oyun yazmak var. Sanırım 10 sene önce bir başlangıç yapmıştık. Bunu grafik kütüphanesi ile çalışacak şekilde yapıp öğretici bir örnek hazırlayalım inşaallah.

Sevgiler, saygılar...