Unity'de C# ile Canon Oyunu Oluşturma
Bu eğitimde Unity ve C# kullanarak basit bir Canon oyunu oluşturacağız. Bir Unity projesi oluşturmanın, oyun nesneleri oluşturmanın, kullanıcı girdilerini işlemenin ve oyun mekaniklerini uygulamanın temellerini öğreneceksiniz.
Ön koşullar
Devam etmek için aşağıdakilere sahip olduğunuzdan emin olun:
- Unity bilgisayarınızda yüklü (sürüm 20xx.x veya üzeri)
- Unity'nin arayüzü ve sahne kurulumu hakkında temel anlayış
- C# programlama diline aşinalık
Projenin Kurulumu
Yeni bir Unity projesi kurarak başlayalım:
- Unity Hub'ı açın ve yeni bir proje oluşturmak için Yeni tuşuna tıklayın.
- Bir şablon seçin (3D veya 2D) ve projenize bir ad verin (örn. CanonGame).
- Projeyi oluşturmak için Oluştur'a tıklayın.
Canon GameObject'i oluşturma
Şimdi sahnemizde Canon nesnesini oluşturacağız:
- Yeni bir GameObject oluşturmak için Hiyerarşi panelinde sağ tıklayın ve Boş Oluştur seçeneğini seçin.
- GameObject'i "Canon" olarak yeniden adlandırın.
- Hiyerarşide "Canon"'a sağ tıklayın ve 3D Nesne -> Silindir'u seçerek kanonumuz için bir silindir şekli oluşturun.
- Silindiri bir kanona benzeyecek şekilde konumlandırın ve ölçeklendirin.
C# ile Canon Script Yazımı
Şimdi kanonu kontrol edecek bir script yazalım:
- Proje panelinde "Scripts" adında yeni bir klasör oluşturun.
- "Scripts" klasörüne sağ tıklayın ve Oluştur -> C# Script seçeneğini seçin.
- Komut dosyasına "CanonController" adını verin.
- Tercih ettiğiniz kod düzenleyicide açmak için betiğe çift tıklayın.
using UnityEngine;
public class CanonController : MonoBehaviour
{
// Variables for canon rotation and firing logic
void Start()
{
// Initialization code
}
void Update()
{
// Update code (e.g., check for user input)
}
}
Canon'a İşlevsellik Ekleme
Kanonu döndürmek ve ateşlemek için işlevsellik ekleyelim:
CanonController
komut dosyasında, kanonun dönüşünü ve tetiklenmesini kontrol edecek değişkenleri bildirin.Güncelleme
yönteminde, kanonu sola ve sağa döndürmek için kullanıcı girişini yönetin.- Kuralı ateşlemeyi idare edecek bir yöntem ekleyin (örneğin, bir gülleyi başlatmak).
using UnityEngine;
public class CanonController : MonoBehaviour
{
// Define variables for canon rotation speed
public float rotationSpeed = 5f;
// Define variables for cannonball prefab and firing position
public GameObject cannonballPrefab; // Assign in Unity Editor
public Transform firePoint; // Assign fire point transform in Unity Editor
void Update()
{
// Handle canon rotation based on user input
float horizontalInput = Input.GetAxis("Horizontal");
transform.Rotate(Vector3.up, horizontalInput * rotationSpeed * Time.deltaTime);
// Handle canon firing when spacebar is pressed
if (Input.GetKeyDown(KeyCode.Space))
{
FireCanon();
}
}
void FireCanon()
{
// Check if cannonball prefab and fire point are assigned
if (cannonballPrefab != null && firePoint != null)
{
// Instantiate a cannonball at the fire point position and rotation
GameObject cannonball = Instantiate(cannonballPrefab, firePoint.position, firePoint.rotation);
// Add force to the cannonball (example: forward direction with speed)
float cannonballSpeed = 10f;
cannonball.GetComponent<Rigidbody>().velocity = firePoint.forward * cannonballSpeed;
}
else
{
Debug.LogError("Cannonball prefab or fire point is not assigned.");
}
}
}
Oyunu Test Etme ve Oynama
Şimdi Canon oyunumuzu test edip oynayalım:
- Komut dosyasını kaydedip Unity'e geri dönün.
CanonController
komut dosyasını "Canon" GameObject'in Inspector paneline sürükleyerek "Canon" GameObject'e ekleyin.- Oyunu çalıştırmak için Unity'deki Play butonuna basın.
- Topu döndürmek için ok tuşlarını veya A/D tuşlarını kullanın.
- Topu ateşlemek için Boşluk tuşuna basın (bu işlevi uygulamak, betiğinize bağlı olarak isteğe bağlıdır).
Çözüm
Tebrikler! Unity'de C# kullanarak basit bir Canon oyunu oluşturdunuz. Bir Unity projesini nasıl oluşturacağınızı, GameObjects oluşturmayı, C#'ta komut dosyaları yazmayı ve temel oyun mekaniklerini nasıl uygulayacağınızı öğrendiniz. Buradan oyununuzu daha da genişletebilir ve geliştirebilirsiniz.