Şimdi Ara

Unity3d Yapay Zeka Sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
10
Cevap
0
Favori
848
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar Ben JavaScripti Yeni Öğrendim ve Hatalarım Oluyor Bu Yüzden Konu Açayım Dedim Şimdi Ben Bir Yapay Zeka Yaptım Ancak sadece takip'e yarıyo animasyon atayamadım saldırı desen yapamadım benim icin kodu bilen biri tamamlayabilirmi biliyorum zor iş ama lütfen bu kodu yazanın adı oyun yapımcıları arasındada geçecek lütfen yardım edin.
    Kod:
    #pragma strict
    var hareketHizi:int = 5;
    var Player: Transform;
    var mesafe:int= 1;
    function Update(){
    transform.LookAt(Player);
    if(Vector3.Distance (transform.position,Player.position) < mesafe )
    {

    }
    else
    {
    transform.position += transform.forward * Time.deltaTime;
    }
    }

    Benim Amacım Bu Dusman bana ulasana kadar yurusun ve nefes alsın bana geldiğinde ise yani dusmanla aramda 1 mesafe kaldığında saldırı animasyonu gerçekleşsin ve benim canım 100'den 90'a düşsün bunu nasıl yaparım lütfen yardım edin şimdiden cevaplayan herlese teşekkürler.







  • up
  • 42 Görüntülemede Bir Allahın Kulu Yokmu Lütfen...
  • C# kullanmanı tavsiye ederim. C# javascripte göre daha hızlı parse edilir.

    Saldıran animation componentinde atackAnimationClip ve player scriptinde health diye bir canın varsa söyle yapılabilir.


    Çok açık yazamadım ama yapman gereken algoritma şöyle

    Attack yapan gameobjectine animation componenti ekle. Atak animasyonunu oluştur ve ekle. Play automaticly tick i kaldır.
    Sonrasında player a bir scirpt ekle int healt diye bir değişken oluştur.

    int health // playerin toplam canı

    public void Atack(int damageScore) // playerden canı azaltmak için yazdığımız fonksiyon. Aldığı değer kadar canı düşürür
    {
    health-=damageScore;
    if(health<0)// canın ekside gözükmesini istemeyiz :)
    {
    health=0;
    }
    }


    string animationName="atackAnimation";// olusturdugun animasyonun adı . Bunu direk olarak yazabiliriz asagida

    if(Vector3.Distance (transform.position,Player.position) < mesafe )
    {
    this.animation.[animationName].speed=1.0f;//animasyon hzıını belirledik
    this.animation.Play(animationName);// animasyonu calıştırdık
    player.GetComponent<PlayerInfo>().Atack(10);//canı 10 azalttık
    }


    // Bunu update yaptıgımız için sorun olabilir ama denemek lazım. Trigger da kullanabilirsin



    < Bu mesaj bu kişi tarafından değiştirildi aktoluna -- 12 Ekim 2014; 11:20:59 >




  • aktoluna kullanıcısına yanıt
    Teşekkür Ederim Anladığım Kadarıyla Yapmaya Çalışacağım Ama Kodlara Yorum Ekleyebilirsen sevinirim teşekkür Ederim



    < Bu mesaj bu kişi tarafından değiştirildi 4ztex -- 12 Ekim 2014; 11:08:47 >
  • up
  • quote:

    Orijinalden alıntı: aktoluna

    C# kullanmanı tavsiye ederim. C# javascripte göre daha hızlı parse edilir.

    Saldıran animation componentinde atackAnimationClip ve player scriptinde health diye bir canın varsa söyle yapılabilir.


    Çok açık yazamadım ama yapman gereken algoritma şöyle

    Attack yapan gameobjectine animation componenti ekle. Atak animasyonunu oluştur ve ekle. Play automaticly tick i kaldır.
    Sonrasında player a bir scirpt ekle int healt diye bir değişken oluştur.

    int health // playerin toplam canı

    public void Atack(int damageScore) // playerden canı azaltmak için yazdığımız fonksiyon. Aldığı değer kadar canı düşürür
    {
    health-=damageScore;
    if(health<0)// canın ekside gözükmesini istemeyiz :)
    {
    health=0;
    }
    }


    string animationName="atackAnimation";// olusturdugun animasyonun adı . Bunu direk olarak yazabiliriz asagida

    if(Vector3.Distance (transform.position,Player.position) < mesafe )
    {
    this.animation.[animationName].speed=1.0f;//animasyon hzıını belirledik
    this.animation.Play(animationName);// animasyonu calıştırdık
    player.GetComponent<PlayerInfo>().Atack(10);//canı 10 azalttık
    }


    // Bunu update yaptıgımız için sorun olabilir ama denemek lazım. Trigger da kullanabilirsin




    Çok Çok Çok Çok Çok Çok Çok Çok Çok Çok Çok Çok Çok Çok Çok Çok Teşekkür Ederim




  • Yapay Zeka’dan İlgili Konular
    Ücretli yapay zeka tavsiye
    2 ay önce açıldı
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: aktoluna

    C# kullanmanı tavsiye ederim. C# javascripte göre daha hızlı parse edilir.

    Saldıran animation componentinde atackAnimationClip ve player scriptinde health diye bir canın varsa söyle yapılabilir.


    Çok açık yazamadım ama yapman gereken algoritma şöyle

    Attack yapan gameobjectine animation componenti ekle. Atak animasyonunu oluştur ve ekle. Play automaticly tick i kaldır.
    Sonrasında player a bir scirpt ekle int healt diye bir değişken oluştur.

    int health // playerin toplam canı

    public void Atack(int damageScore) // playerden canı azaltmak için yazdığımız fonksiyon. Aldığı değer kadar canı düşürür
    {
    health-=damageScore;
    if(health<0)// canın ekside gözükmesini istemeyiz :)
    {
    health=0;
    }
    }


    string animationName="atackAnimation";// olusturdugun animasyonun adı . Bunu direk olarak yazabiliriz asagida

    if(Vector3.Distance (transform.position,Player.position) < mesafe )
    {
    this.animation.[animationName].speed=1.0f;//animasyon hzıını belirledik
    this.animation.Play(animationName);// animasyonu calıştırdık
    player.GetComponent<PlayerInfo>().Atack(10);//canı 10 azalttık
    }


    // Bunu update yaptıgımız için sorun olabilir ama denemek lazım. Trigger da kullanabilirsin




    Belki Biraz Sinir Olcan Ama Birşey Daha Senin Verdiğin Script JavaScript'mi C#'mı?? cünkü icinde void gördüm ve js public kelimesini kabul etmiyo :P




  • UP
  • C# yazmıştım . Rica ederim :)
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.