Sahne tasarımını geçici olarak yaptım daha oyun motorunda yeniyim az çok videolardan yürüterek hobi amaçlı bir şeyler yapıyorum ama klonluyor ama sahnede gözükmüyor.
Tankın dogma_noktasından 1, 2, 3, 4, 5, 6 hedeflerine gidip, varıs_noktası kısmına gidiyorum bir arkadaşımız YouTube üzerinden buldum 3 boyutlusunu yapmış bende 2 boyutlusunu yapmaya çabalıyorum. Dogma_noktasından 1, 2, 3, 4, 5, 6 hedeflerine gidip, varıs_noktası ınspector kısmı:
Yapan arkadaş 3 boyutlu yptığı için rigidbody kullanmış ben rigidbody2D kullandım ama tankın sahnede durması için collider eklemedim ama tankın hareketi için rigidbody kullanılmış ben rigidbody2d kullandım olmadı eksik bir şeyde olabilir ya da nasıl yapabiliriz??
GetComponent<Rigidbody2D>().velocity = transform.forward * hiz * Time.deltaTime;
Dusman_haretleri script;
yonetici script;
Tankın dogma_noktasından 1, 2, 3, 4, 5, 6 hedeflerine gidip, varıs_noktası kısmına gidiyorum bir arkadaşımız YouTube üzerinden buldum 3 boyutlusunu yapmış bende 2 boyutlusunu yapmaya çabalıyorum. Dogma_noktasından 1, 2, 3, 4, 5, 6 hedeflerine gidip, varıs_noktası ınspector kısmı:
Yapan arkadaş 3 boyutlu yptığı için rigidbody kullanmış ben rigidbody2D kullandım ama tankın sahnede durması için collider eklemedim ama tankın hareketi için rigidbody kullanılmış ben rigidbody2d kullandım olmadı eksik bir şeyde olabilir ya da nasıl yapabiliriz??
GetComponent<Rigidbody2D>().velocity = transform.forward * hiz * Time.deltaTime;
Dusman_haretleri script;
C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class dusman_hareketleri : MonoBehaviour
{
GameObject takip_edilen_kup;
public GameObject canvas;
public int takip_edilen_kupun_numarasi;
float hiz = 500.0f;
// float toplam_can = 100;
//float su_anki_can = 100;
yonetici yonet;
void Start()
{
takip_edilen_kupun_numarasi = 1;
takip_edilen_kup = GameObject.Find(takip_edilen_kupun_numarasi.ToString());
yonet = GameObject.Find("yonetici").GetComponent<yonetici>();
transform.LookAt(takip_edilen_kup.transform);
}
private void OnTriggerEnter(Collider collision)
{
if (collision.gameObject.tag == "takip_edilen_kup")
{
takip_edilen_kupun_numarasi++;
takip_edilen_kup = GameObject.Find(takip_edilen_kupun_numarasi.ToString());
transform.LookAt(takip_edilen_kup.transform);
}
if (collision.gameObject.name == "varis_noktasi")
{
yonet.gecen_dusman();
Destroy(gameObject);
}
}
void Update()
{
GetComponent<Rigidbody2D>().velocity = transform.forward * hiz * Time.deltaTime;
}
}
yonetici script;
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class yonetici : MonoBehaviour
{
public GameObject tank;
public Transform dogma_noktasi;
public int para = 100;
public TMPro.TextMeshProUGUI para_txt;
public TMPro.TextMeshProUGUI kalan_sure_txt;
public TMPro.TextMeshProUGUI gecen_dusman_sayisi_txt;
int gecen_dusman_sayisi = 0;
int gecmemesi_gereken_dusman_sayisi = 15;
int toplam_sure = 0;
void Start()
{
para_txt.text = " $ " + para.ToString();
gecen_dusman_sayisi_txt.text = gecen_dusman_sayisi.ToString() + " / " + gecmemesi_gereken_dusman_sayisi.ToString();
InvokeRepeating("tank_olustur", 0, 3.0f);
InvokeRepeating("sure_azalt", 0, 1.0f);
}
void tank_olustur()
{
GameObject yeni_tank = Instantiate(tank, dogma_noktasi.position, Quaternion.identity);
}
void sure_azalt()
{
toplam_sure++;
kalan_sure_txt.text = toplam_sure.ToString();
}
public void gecen_dusman()
{
gecen_dusman_sayisi++;
gecen_dusman_sayisi_txt.text = gecen_dusman_sayisi.ToString() + " / " + gecmemesi_gereken_dusman_sayisi.ToString();
if (gecen_dusman_sayisi >= gecmemesi_gereken_dusman_sayisi)
{
oyunu_bitir();
}
}
void oyunu_bitir()
{
// bitti_panel.SetActive(true);
Time.timeScale = 0.0f;
}
public void para_azalt(int deger)
{
para -= deger;
para_txt.text = "$" + para.ToString();
}
public void para_arttir(int deger)
{
para += deger;
para_txt.text = "$" + para_txt.ToString();
}
}
Son düzenleme: