1. oyuncuları tanımla
Öncelikle oyuncuları ve ebe tagını tanımlayalım. Oyuncuların bir listesini tutacağız ve ebe olan oyuncuyu belirleyeceğiz.
Kod:
Using System. Collections. Generic;
Using unityengine;
Public class taggame: Monobehaviour.
{
Public list<gameobject> players; // oyuncuları tutan liste.
Private gameobject currenttagger; // ebe olan oyuncu.
Void Start()
{
AssignRandomTagger();
}
Void AssignRandomTagger()
{
İnt randomındex = random. Range(0, players. Count);
Currenttagger = players[randomIndex];
// Ebe olan oyuncuyu belirten bir işaret (örneğin renk değişikliği) yapabilirsin.
currentTagger.GetComponent<Renderer>().material.color = Color.red;
}
Void Update()
{
// Oyun mantığını burada kontrol edebilirsin.
}
Void oncollisionenter(collision collision)
{
İf (collision. Gameobject == currenttagger)
{
Gameobject hitplayer = collision. Other. Gameobject;
İf (players. Contains(hitplayer))
{
Transfertag(hitplayer);
}
}
}
Void transfertag(gameobject newtagger)
{
// Eski ebeden rengi geri al.
currentTagger.GetComponent<Renderer>().material.color = Color.white;
// Yeni ebeye tag ver.
Currenttagger = newtagger;
currentTagger.GetComponent<Renderer>().material.color = Color.red;
}
}
2. oyuncuların çarpışma kontrolü
Oyuncuların çarpışma anında ebe tagının aktarılması için oncollisionenter fonksiyonunu kullanıyoruz. Bu fonksiyon iki oyun objesinin çarpışmasını kontrol eder.
3. ebe tagının aktarılması
Ebe tagının aktarılması için transfertag fonksiyonunu kullanıyoruz. Bu fonksiyon, eski ebeden tagı alıp yeni ebeden tagı aktarıyor.
özet
Bu temel örnek, oyuncuların ebe tagını rastgele bir oyuncuya verip ardından çarpışma anında tagın aktarılmasını sağlar. Kendi oyununda ek özellikler ekleyerek daha karmaşık ve eğlenceli hale getirebilirsin.