C# CS8803 hatası

onurgunes

Hectopat
Katılım
25 Kasım 2020
Mesajlar
78
Çözümler
1
CS8803: Top-level statements must precede namespace and type declarations.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

C#:
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 is Grounded;
    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();
        CharacterJump();

    }

    void CharacterMovement()
    {
        moveHorizontal = Input.GetAxis("Horizontal");
        rb2d.velocity = new Vector2(moveHorizontal * moveSpeed, rb2d.velocity.y);
    }
    void CharacterAnimation()
    {
        if (moveHorizontal > 0)
        {
            anim.SetBool("isRunning", true);
        }
        if (moveHorizontal == 0)
        {
            anim.SetBool("isRunning", false);
        }
        if (moveHorizontal < 0)
        {
            anim.SetBool("isRunning", 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))
        {
            anim.SetTrigger("isAttack");
        }

    }
  }
    void CharacterJump()
{
    if (Input.GetKeyDown(KeyCode.Space))
    {
        anim.SetBool("isJumping", true);
    }
}
 
Son düzenleyen: Moderatör:
public bool is Grounded;
Bu yanlış. Değişken isminin içine boşluk koyamazsınız. Ayrıca "is" sözcüğü C#'da bir anlama, göreve sahip bir anahtar kelime o yüzden zaten editör onu tanıyıp renklendiriyor fark ettiysen. Oraya is_Grounded ya da IsGrounded yazabilirsin.
 
Kullanacağın veya kullandığın değişkenlerin veri türlerini ve tanımlarını önceden eklemelisin. Ve kullanacağın işlemlerin tam isim yolunu girmelisin veya ait oldukları sınıfları en başta "using" kullanarak içe aktarmalısın ki derleyici bu işlemleri nerede arayacağını bilsin.
 
public bool is Grounded;
Bu yanlış. Değişken isminin içine boşluk koyamazsınız. Ayrıca "is" sözcüğü C#'da bir anlama, göreve sahip bir anahtar kelime o yüzden zaten editör onu tanıyıp renklendiriyor fark ettiysen. Oraya is_Grounded ya da IsGrounded yazabilirsin.
Teşekkür ederim hataların birini düzelttim, geriye sadece top-level statements must precede namespace and type declarations kaldı onun da doğru kod satırını yazabilir misiniz?
 
Teşekkür ederim hataların birini düzelttim, geriye sadece top-level statements must precede namespace and type declarations kaldı onun da doğru kod satırını yazabilir misiniz?
Henüz bir değişken isminin nasıl yazılacağını ya da aldığın hata kodunu CS8803 aratıp ne anlam ifade ettiğine bakmayı bilmiyorsan bu kodu herhalde kendin yazmadın. Önce gidip daha temel şeyleri öğrensen daha iyi olur sanki.

Bütün kodu incelemedim ama hata bir yerde kullandığın bir değişkenin kullanıldığı yerde tanımlı olmadığını söylüyor.
 
Henüz bir değişken isminin nasıl yazılacağını ya da aldığın hata kodunu CS8803 aratıp ne anlam ifade ettiğine bakmayı bilmiyorsan bu kodu herhalde kendin yazmadın. Önce gidip daha temel şeyleri öğrensen daha iyi olur sanki.

Bütün kodu incelemedim ama hata bir yerde kullandığın bir değişkenin kullanıldığı yerde tanımlı olmadığını söylüyor.
Herkesin bir fikri var nedense, yabancı kaynaklara da aynı şekilde yazıp sorunu nasıl çözeceğimi sordum, neden kendin yapmıyorsun diyorlar, kardeşim zaten öğrenmeye çalışıyorum. Yardımcı olmayacaksanız konunun altına gereksiz fikirlerinizi belirtmeyin. Bütün kodu incelemeyip bana yardımcı olmayacaksan buraya bana fikrini dayatmanın da bir anlamı yok.

Kullanacağın veya kullandığın değişkenlerin veri türlerini ve tanımlarını önceden eklemelisin. Ve kullanacağın işlemlerin tam isim yolunu girmelisin veya ait oldukları sınıfları en başta "using" kullanarak içe aktarmalısın ki derleyici bu işlemleri nerede arayacağını bilsin.
Sorunu çözdüm, konu kapatılabilir.
 

Technopat Haberler

Yeni konular

Geri
Yukarı