unity c# problem

Gameplayer

Katılımcı Üye
8 Ocak 2017
263
6
oyun yapıyorum karakterimin canı gitmiyor mermi yediğimde falan. Bir de düşman karaktere silah verdim başka animasyona geçince silah takip etmiyo karakteri bunları nasıl çözebilirim
 

Yeni Kullanıcıyım Ben

Katılımcı Üye
11 Ara 2022
799
302
Matrix
oyun yapıyorum karakterimin canı gitmiyor mermi yediğimde falan. Bir de düşman karaktere silah verdim başka animasyona geçince silah takip etmiyo karakteri bunları nasıl çözebilirim
kodları atarsanız buradaki arkadaşlar yardım edebilir şahsen ben falza c# bilmiyorum ama kodları atarsanız buraya diğer arkadaşlar yardımcı olabilir.
 

Gameplayer

Katılımcı Üye
8 Ocak 2017
263
6
Kod:
using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;



public class PlayerHealth : MonoBehaviour

{

    public float playerHealth = 100f;

    private Animator playeranimator;

    public Text Saglik;

    public Slider slider;



    void Start()

    {

        playeranimator = GetComponent<Animator>();

    }



    void Update()

    {

        Saglik.text = "" + playerHealth;

        slider.value=playerHealth;

    }

    public void HesaplananHealth(float hesaplananHealth)

    {

        playerHealth -= hesaplananHealth;

        if (playerHealth <= 0)

        {

             PlayerDead();

        }



        void PlayerDead()

        {

            playeranimator.SetBool("playerdead", true);

            Debug.Log("ÖLDÜN");



        }

    }

}

using System.Collections;

using System.Collections.Generic;

using Unity.Burst.CompilerServices;

using UnityEngine;



public class enemy : MonoBehaviour

{

    public float mesafe;

    public Transform target;

    Vector3 pos;

    private Animator enemyanimator;



    RaycastHit hit;

    public GameObject MermiCikisNoktasi;

    public bool AtesEdebilir;

    float GunTimer;

    public float TaramaHizi;

    //AudioSource DusmanSes;

    //public AudioClip AtesSesi;

    public float Menzil;

    public float damagePlayer;



    void Start()

    {

        enemyanimator = GetComponent<Animator>();

    }



    void Update()

    {

        mesafe = Vector3.Distance(transform.position, target.position);

        pos = new Vector3(target.position.x,transform.position.y,target.position.z);



        if(mesafe < 20f)

        {

            transform.LookAt(pos);



            Quaternion rotation = Quaternion.LookRotation(target.transform.position - this.transform.position);

            transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime);



            enemyanimator.SetBool("combatmode", true);



            if(AtesEdebilir==true && Time.time > GunTimer)

            {

                Fire();

                GunTimer=Time.time+TaramaHizi;



            }



            void Fire()

            {

                if (Physics.Raycast(MermiCikisNoktasi.transform.position, MermiCikisNoktasi.transform.forward, out hit, Menzil))

                {



                    Debug.Log(hit.transform.name);

                    GunTimer=Time.time+TaramaHizi;



                    if (hit.transform.tag == "Player")

                    {

                        PlayerHealth playerHealthScript = hit.transform.GetComponent<PlayerHealth>();

                        playerHealthScript.HesaplananHealth(damagePlayer);

                    }



                    else

                    {

                        Debug.Log("Iskaladın");

                    }

                }

            }



          

        }



        else

        {

            enemyanimator.SetBool("combatmode", false);

        }

    }

}
 
Moderatör tarafında düzenlendi:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.