C# Unity "Cannot implicitly convert type 'double' to 'float'" hatası

Bertyy

Centipat
Katılım
14 Haziran 2023
Mesajlar
43
Daha fazla  
Cinsiyet
Erkek
Merhaba. Tekrardan ben. En son aldıgım hatadan sonra şevkim kırılmıştı, bir daha dönmeyi düşünmüyordum ama dişimi sıkım geri döndüm. Lafı kısa tutayım, tekrardan yardımınıza ihtiyacım var. Aldıgım hatanın fotografını atıyorum. Altına da kodu atıyorum, yardım ederseniz makbule geçersiniz. Şimdiden teşekkürler.





C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CharacterMove : MonoBehaviour
{
    // Start is called before the first frame update
    public float moveSpeed;
    private Animator Anim;

    private Rigidbody2D rb2D;
    float moveHorizontal;

    public bool facingRight;

    public float jumpForce;
    public bool İsGrounded;
    public bool canDoubleJump;


    void Start()
    {
        moveSpeed = 5;
        moveHorizontal = Input.GetAxis("Horizontal");
        Anim = GetComponent<Animator>();
        rb2D = GetComponent<Rigidbody2D>();

    }

    // Update is called once per frame
    void Update()
    {
        CharacterMovement();
        CharacterAnimation();
        CharacterAttack();
        CharacterRunAttack();
        CharacterJump();
    }


    void CharacterMovement()
    {
        moveHorizontal = Input.GetAxis("Horizontal");
        rb2D.velocity = new Vector2(moveHorizontal * moveSpeed, rb2D.velocity.y);
    }

    void CharacterAnimation()
    {
        if (moveHorizontal > 0)
        {
            Anim.SetBool("İsRunning", true);
        }
        if (moveHorizontal == 0)
        {
            Anim.SetBool("İsRunning", false);
        }
        if (moveHorizontal < 0)
        {
            Anim.SetBool("İsRunning", true);
        }
        if (facingRight == false && moveHorizontal > 0)
        {
            CharacterFlip();
        }
        if (facingRight == true && moveHorizontal < 0)
        {
            CharacterFlip();
        }
    }

    void CharacterFlip()
    {
        facingRight = !facingRight;
        Vector3 scaler = transform.localScale;
        scaler.x *= -1;
        transform.localScale = scaler;
    }
    void CharacterAttack()
    {
        if (Input.GetKeyDown(KeyCode.E) && moveHorizontal == 0)
        {
            Anim.SetTrigger("İsAttack");
        }
    }
    void CharacterRunAttack()
    {
        if (Input.GetKeyDown(KeyCode.E) && moveHorizontal > 0 || Input.GetKeyDown(KeyCode.E) && moveHorizontal < 0)

        {
            Anim.SetTrigger("İsRunAttack");
        }
    }

    void CharacterJump()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            Anim.SetBool("İsJumping", true);


            if (İsGrounded)
            {
                rb2D.velocity = Vector2.up * jumpForce;
                canDoubleJump = true;
            }

            else if (canDoubleJump)
            {
                jumpForce = jumpForce / 1.5f;
                rb2D.velocity = Vector2.up * jumpForce;

                canDoubleJump = false;
                jumpForce = jumpForce * 1.5;
            }











        }
    }

        void OnCollisionEnter2D(Collision2D col)
        {
            Anim.SetBool("İsJumping", false);
            if (col.gameObject.tag == "Grounded")
            {
                İsGrounded = true;
            }


        }

        void OnCollisionStay2D(Collision2D col)
        {
            Anim.SetBool("İsJumping", false);
            if (col.gameObject.tag == "Grounded")
            {
                İsGrounded = true;
            }
        }

        void OnCollisionExit2D(Collision2D col)
        {
            Anim.SetBool("İsJumping", true);
            if (col.gameObject.tag == "Grounded")
            {
                İsGrounded = false;
            }
        }
    }
 
Son düzenleyen: Moderatör:
113. satırda "jumpForce = jumpForce * 1.5;" burayı 1.5f olarak değiştirin.
 
Ozgurkekw cevabı vermiş. Bu arada "İsgrounded" veya "İsrunning"lerde İ'leri I diye değiştirebilirsiniz. Hata veriyor mu bilmiyorum ama hata verme ihtimaline karşı siz yine de değiştirin derim.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…