Unity Eğitim
Dersler
Forum Sınav Merkezi Premium 💎
Ağ Programlama

PhotonNetwork.ConnectUsingSettings() ile Çok Oyunculu Oyun Geliştirme

Paylaşan: Unity Eğitim 15 September 2025 3 dakika okuma 124 görüntülenme

Merhaba Unity geliştiricileri! Bu yazıda, Photon Network'ün güçlü fonksiyonlarından biri olan PhotonNetwork.ConnectUsingSettings()'i detaylı bir şekilde inceleyeceğiz. Bu fonksiyon, oyununuza kolayca çok oyunculu özellik eklemenizi sağlar. Sıfırdan başlayarak, adım adım ilerleyeceğiz ve örnek kodlarla kavramları pekiştireceğiz.

Photon Network Nedir?


Photon Network, gerçek zamanlı çok oyunculu oyunlar geliştirmek için kullanılan popüler bir ağ motorudur. Unity ile mükemmel bir şekilde entegre olur ve çeşitli oyun türleri için ölçeklenebilir çözümler sunar. Basit bir sohbet uygulamasından karmaşık MMORPG'lere kadar geniş bir yelpazede kullanılabilir.

PhotonNetwork.ConnectUsingSettings() Fonksiyonu


PhotonNetwork.ConnectUsingSettings() fonksiyonu, Photon Cloud'a bağlanmak için kullanılır. Photon Cloud, Photon Network'ün sunucu tarafını temsil eder ve oyuncularınızın birbirleriyle etkileşim kurmasını sağlar. Bu fonksiyonu kullanarak, sunucu ayarlarınızı otomatik olarak yükler ve bağlantı kurar. Ayarlarınızı PhotonServerSettings dosyasından yönetirsiniz.

PhotonServerSettings Dosyası


Projenize Photon Network'ü eklediğinizde, PhotonServerSettings adında bir dosya oluşturulur. Bu dosya, Photon Cloud'a bağlanmak için gerekli olan bilgileri içerir. En önemli ayarlar şunlardır:

  • AppId: Photon uygulamanızın benzersiz kimlik numarasıdır. Photon hesabınızdan bulabilirsiniz.

  • AppVersion: Oyununuzun sürüm numarasıdır. Farklı sürüm numaralarıyla oyuncuların birbirleriyle oynamasını engellemek için kullanılır.

  • ServerAddress: Özel bir sunucu adresi belirlemek isterseniz bu alanı kullanırsınız. Genellikle boş bırakılır.


Kod Örneği


PhotonNetwork.ConnectUsingSettings() fonksiyonunu nasıl kullanacağınızı gösteren basit bir örnek:

using Photon.Pun;
using UnityEngine;

public class ConnectToServer : MonoBehaviourPunCallbacks
{
void Start()
{
PhotonNetwork.ConnectUsingSettings();
}

public override void OnConnectedToMaster()
{
Debug.Log("Bağlantı başarılı!");
PhotonNetwork.JoinLobby(); // Lobby'ye katıl
}

public override void OnDisconnected(DisconnectCause cause)
{
Debug.Log("Bağlantı koptu: " + cause);
}
}


Bu örnekte, Start() fonksiyonu içinde PhotonNetwork.ConnectUsingSettings() fonksiyonunu çağırıyoruz. OnConnectedToMaster() fonksiyonu, sunucuya başarıyla bağlandığımızda çağrılır. OnDisconnected() fonksiyonu ise bağlantı koptuğunda çağrılır. Bu fonksiyonlar, MonoBehaviourPunCallbacks sınıfından miras alınarak kullanılır.

Lobby'ler


Oyuncuların birbirlerini bulmaları ve oyunlara katılmaları için lobby'ler kullanılır. PhotonNetwork.JoinLobby() fonksiyonu ile lobby'ye katılabilirsiniz. Lobby'ler, oyunların listelenmesi ve oyuncuların birbirleriyle etkileşim kurması için önemli bir mekanizmadır.

Oyun Odası Oluşturma ve Katılma


Lobby'ye katıldıktan sonra, PhotonNetwork.CreateRoom() fonksiyonuyla yeni bir oyun odası oluşturabilir veya PhotonNetwork.JoinRoom() fonksiyonuyla mevcut bir odaya katılabilirsiniz. Bu fonksiyonlar, oyun odalarının yönetimini sağlar.

Hata Ayıklama


Bağlantı sorunlarıyla karşılaşırsanız, Photon Network'ün sağladığı hata mesajlarını dikkatlice inceleyin. Debug.Log() fonksiyonuyla önemli noktalarda log mesajları ekleyerek sorun giderme işlemini kolaylaştırabilirsiniz.

 

Sonuç


PhotonNetwork.ConnectUsingSettings() fonksiyonu, Unity'de çok oyunculu oyun geliştirmenin temelini oluşturur. Bu fonksiyonu kullanarak, Photon Cloud'a kolayca bağlanabilir ve oyuncularınızın birbirleriyle etkileşim kurmasını sağlayabilirsiniz. Bu yazıda ele aldığımız örnekler ve açıklamalar, çok oyunculu oyun geliştirme yolculuğunuza başlamanız için size yardımcı olacaktır.

🧠 Ders Sonu Değerlendirme Testi

Dersi tamamladıktan sonra bilgilerinizi test edin ve ekstra puanlar kazanın.

🔥 +50 XP Ödül
🔒

Sınava Katılmak İçin Giriş Yapın

Bu ders sonu testini çözebilmek, bilginizi test edip **+50 XP** kazanmak ve **Sınav Şampiyonu** rozetinin kilidini açmak için üye girişi yapmalısınız.

Yorumlar (0)

Yorum yazabilmek ve derslere katkıda bulunabilmek için giriş yapmalısınız.

İlk yorumu siz yapın!