Arkadaşlar video'da PlayerAttack scripts çalışmadı fark ediyseniz sorunu buldum
Son olarak arkadaşlar
"First Person Controller" veya "3rd Person Controller" kullanacaksanız İsmini(Player girin ve Tag=bölümünü videodaki gibi Oyuncumuzu "Player" Seçin ve "Add Tag" diyerek yeni bir "Tag" oluşturun isminide "Enemy" girin bunuda düşman objyenin tagını yapın.son olarakta "xx.cs" uzantılı dosyanın ismini "Targetting.cs" girin.Arkadaşlar ben neden bunları yazdım kodu yazarken bu isimlere göre yaptımda ondan.(eğer isimleri değiştirmek isteyen olursa yorum atmaları yeterlidir.)
Bu arada videodaki Unity baya eski sürümden kalma fark ediyseniz ama iyi eski sürümde çalışan kod en yeni sürümde hayli hayli çalışır
Bide videoda pek bişi anlatmadım siz video izleyin takıldınız yerler olursa yorum atmanız yeterlidir.
Video İzlemek İçin Tıkla !!!
Arkadaşlar koda hata verirse şunları siliniz:
PlayerAttack pa = (PlayerAttack)GetComponent("PlayerAttack");
pa.target = selectedTarget.gameObject;
bu ikisini silerseniz sorun çözülür.
Arkadaşlar bu tür dersleri arada vericem Unity ile ilgili ders için yorum atmanız yeterlidir.
Son olarak arkadaşlar
"First Person Controller" veya "3rd Person Controller" kullanacaksanız İsmini(Player girin ve Tag=bölümünü videodaki gibi Oyuncumuzu "Player" Seçin ve "Add Tag" diyerek yeni bir "Tag" oluşturun isminide "Enemy" girin bunuda düşman objyenin tagını yapın.son olarakta "xx.cs" uzantılı dosyanın ismini "Targetting.cs" girin.Arkadaşlar ben neden bunları yazdım kodu yazarken bu isimlere göre yaptımda ondan.(eğer isimleri değiştirmek isteyen olursa yorum atmaları yeterlidir.)
Bu arada videodaki Unity baya eski sürümden kalma fark ediyseniz ama iyi eski sürümde çalışan kod en yeni sürümde hayli hayli çalışır
Bide videoda pek bişi anlatmadım siz video izleyin takıldınız yerler olursa yorum atmanız yeterlidir.
Video İzlemek İçin Tıkla !!!
Arkadaşlar koda hata verirse şunları siliniz:
PlayerAttack pa = (PlayerAttack)GetComponent("PlayerAttack");
pa.target = selectedTarget.gameObject;
bu ikisini silerseniz sorun çözülür.
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Targetting : MonoBehaviour {
public List<Transform> targets;
public Transform selectedTarget;
private Transform myTransform;
// Use this for initialization
**** Start () {
targets = new List<Transform>();
selectedTarget = null;
myTransform = transform;
AddAllEnemies();
}
public **** AddAllEnemies()
{
GameObject[] go = GameObject.FindGameObjectsWithTag("Enemy");
foreach(GameObject enemy in go)
AddTarget(enemy.transform);
}
public **** AddTarget(Transform enemy)
{
targets.Add(enemy);
}
private **** SortTargetsByDistance()
{
targets.Sort(delegate(Transform t1, Transform t2) {
return Vector3.Distance(t1.position, myTransform.position).CompareTo(Vector3.Distance(t2.position, myTransform.position));
});
}
private **** TargetEnemy()
{
if(selectedTarget == null)
{
SortTargetsByDistance();
selectedTarget = targets[0];
}
else
{
int index = targets.IndexOf(selectedTarget);
if(index < targets.Count - 1)
{
index++;
}
else
{
index = 0;
}
DeselectTarget();
selectedTarget = targets[index];
}
SelectTarget();
}
private **** SelectTarget()
{
selectedTarget.renderer.material.color = Color.red;
PlayerAttack pa = (PlayerAttack)GetComponent("PlayerAttack");
pa.target = selectedTarget.gameObject;
}
private **** DeselectTarget()
{
selectedTarget.renderer.material.color = Color.blue;
selectedTarget = null;
}
// Update is called once per frame
**** Update () {
if(Input.GetKeyDown(KeyCode.Tab))
{
TargetEnemy();
}
}
}
Arkadaşlar bu tür dersleri arada vericem Unity ile ilgili ders için yorum atmanız yeterlidir.