Buradasın
Unity'de Boun Sing Dot Oyunu Geliştirme: Altıgenin Dönüş İşlemleri
youtube.com/watch?v=DD7mybbcWtsYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan Unity oyun geliştirme eğitim serisinin bir bölümüdür. Eğitmen, Boun Sing Dot adlı oyunun geliştirilmesinde altıgenin dönüş işlemlerini adım adım anlatmaktadır.
- Video, altıgenin ekranın sağına ve soluna basıldığında nasıl döneceğini programlama konusunu ele almaktadır. Eğitmen önce altıgenin farklı parçalarının tek bir obje haline getirilmesi, ardından C# kodlama ile mouse pozisyonunun alınması, screen to world point fonksiyonunun kullanımı ve vektör iki türünün tanımlanması gibi temel adımları göstermektedir.
- Eğitimde ayrıca Unity arayüzünde obje manipülasyonu, Sendronize Center ve Reset Position komutlarının kullanımı, dönüşlerin daha yumuşak ve animasyonlu görünmesi için bekleme süresi ekleme yöntemi ve farklı dönüş mantığını seçme seçeneği sunulmaktadır. Video, ilerleyen bölümlerde top ve etkileşimlerin ekleneceği bilgisiyle sonlanmaktadır.
- 00:01Altıgenin Dönüş İşlemleri
- Boun Sing Dot oyununun geliştirilmesinde daha önce oluşturulan renkli altıgenin dönüş işlemlerinin inceleneceği belirtiliyor.
- Altıgenin dönüş mantığı, ekranın soluna basıldığında sola, sağına basıldığında sağa dönmesi şeklinde tasarlanmış.
- Oyunun orijinalinde de aynı mantık kullanılmış, ancak kullanıcılar sağa basıldığında sağa dönmesi şeklinde de tercih edebilir.
- 01:22Altıgenin Birleştirilmesi
- Altıgenin farklı parçalardan oluştuğu için bunları tek bir obje haline getirmek gerekiyor.
- Game Object kısmından yeni bir boş obje oluşturulup, tüm kenarlar bu objeye bırakılarak tek bir ana obje haline getiriliyor.
- Objenin merkezde durması için Transform kısmından Reset Position işlemi yapılabilir.
- 02:43Kodlama Başlangıcı
- Kodlama kısmına geçildiğinde ekranın dokunulma durumuna göre altıgenin dönüş işlemlerinin yapılacağı belirtiliyor.
- Kodlar klasörü oluşturulup, "dönüş" adında bir C# script dosyası oluşturuluyor.
- Script ismi Türkçe karakter kullanmadan yazılmalı.
- 03:48Dönüş Fonksiyonu Oluşturma
- Update fonksiyonu kaldırılıp, Update fonksiyonu daha sonra kullanılacak.
- Coroutine kullanılarak "dönüş" adında bir fonksiyon oluşturuluyor.
- Fonksiyonun içerisine dönüş işlemleri için gerekli komutlar yazılacak.
- 05:28Mouse Pozisyonu Değişkeni
- Mouse'un pozisyonunu almak için "Vector2 mousePos" adında bir değişken tanımlanıyor.
- Vektör2, x ve y koordinatlarından oluşan bir veri tipidir.
- Dönüş işlemleri için x ekseninde işlem yapılacağı için y değeri kullanılmıyor.
- 07:37Mouse Pozisyonunu World'e Çevirme
- Mouse'un pozisyonunu almak için "Input.MousePosition.x" kullanılıyor.
- ScreenToWorldPoint fonksiyonu kullanılarak mouse'un pozisyonu piksel cinsinden world'e dönüştürülüyor.
- World, oyunun geliştirildiği ve objelerin bulunduğu kısım, mouse ise dış etken olarak dışarıda yer alıyor.
- 11:04Mouse Tıklama Algılama
- Mouse'un nerede olduğunu tutan bir değişken tanımlanmıştır.
- Ekranda tıklandığında mouse'un sağ mı yoksa sol mu tarafta olduğunu anlamak için if yapıları kullanılacaktır.
- Input.GetMouseButtonDown(0) kodu ile sol tuşun tıklandığı kontrol edilecektir.
- 12:18Ekranın Sağ ve Sol Tarafını Belirleme
- Mouse'un ekranın sağında mı yoksa solunda mı olduğunu belirlemek için mousePos.x > 0 şeklinde bir koşul yazılacaktır.
- Sayı doğrusu örneğinde, x ekseni için sağa gidildikçe sayılar büyür, sola gidildikçe sayılar küçülür.
- MousePos.x > 0 olduğunda ekranın sağ tarafında, < 0 olduğunda ise sol tarafında olduğu anlaşılır.
- 17:08Çemberin Döndürülmesi
- Çemberin döndürülmesi için Transform.Rotate(0, 60) kodu kullanılacaktır.
- Altıgen objesinin parçaları tek bir başlık altında birleştirildiğinde, merkezlerin ana objenin içine oturmadığı için Sendron Çıldırın ve Reset Position işlemleri yapılmalıdır.
- Çemberin her seferinde 60 birim döndürülerek farklı renkler arasında geçiş sağlanabilir.
- 20:08Else If Durumu ve Mouse Algılama
- Else if durumu kullanılarak mouse'a basıldığında veya ekrana dokunulduğunda altıgenin dönmesi sağlanıyor.
- Mouse'un sol tuşu için sıfırdan küçük değerler, sağ tuşu için sıfırdan büyük değerler kullanılıyor.
- Mouse sağ tarafta tıklanırsa sola, sol tarafta tıklanırsa sağa dönmesi için kodlar düzenleniyor.
- 22:07Core Oluşturma ve Unity'e Ekleme
- Core oluşturulduktan sonra Unity'e dönülerek altıgene bu kod ekleniyor.
- Core'nin sürekli çalışması için Start fonksiyonunda "StartCore(altıgen);" kodu kullanılıyor.
- Unity'de test edildiğinde ekranın sağına basıldığında sola, soluna basıldığında sağa dönme işlemi gerçekleşiyor.
- 24:29Dönüş Animasyonu Ekleme
- Dönüşlerin keskin ve sert olması sorunu için bekleme süresi ekleniyor.
- "private float beklemeSüresi = 0,1;" şeklinde bir değişken tanımlanıyor.
- Dönüş işlemi 60 birim yerine 30 birim iki parçaya bölünerek ve bekleme süresi eklenerek daha yumuşak bir animasyon sağlanıyor.
- 29:17Alternatif Dönüş Mantığı
- Oyunun orijinalinde sağa basıldığında sola, sola basıldığında sağa dönme mantığı kullanılıyor.
- Dönüş yönünü değiştirmek için eksi 30 birim yerine 30 birim kullanılabilir.
- İlerleyen bölümlerde top koyup etkileşimlere başlanacak.