【解決方法】こんにちは、このエラーを修正するにはどうすればよいですか(C# のことはよくわからないので、黙ってください)

[ad_1]

それは思いつき続けます

Assets\Spawner.cs(19,6): error CS0116: A namespace cannot directly contain members such as fields or methods

.そして、何をすればよいのか、それが何を意味するのかわかりません。 これは私のコードです

using UnityEngine;
using System.Collections;

public class Spawner : MonoBehaviour {


    public GameObject[] groups;
}
public void spawnNext() {

    int i = Random.Range(0, groups.Length);

 
    Instantiate(groups[i],
                transform.position,
                Quaternion.identity);
}

void Start() {

    spawnNext();
}

オンラインで見つけたテトリス ゲームです。

これはウェブサイトへのリンクです。

noobtuts – Unity 2D テトリス チュートリアル[^]

誰かがそれを非常に簡単に修正する方法と内容を具体的に教えてくれませんか。

THX

私が試したこと:

あまり試したことはありませんが、やったことは基本的にコードをいじるだけですが、さまざまなエラーが発生し続けるだけです。

解決策 1

名前空間にはクラスが含まれます。 クラスにはフィールド、メソッドなどが含まれます。 名前空間を指定しない場合は、デフォルトが使用されます。

コードを見てください。配列を含むクラスを作成しています。

public class Spawner : MonoBehaviour {


    public GameObject[] groups;
}

次に、メソッドを宣言しようとします。

public void spawnNext() {

    int i = Random.Range(0, groups.Length);

 
    Instantiate(groups[i],
                transform.position,
                Quaternion.identity);
}

しかし、それはクラスの外にあるため、クラスの一部になることはできず、オブジェクトに関連付けることもできません。 したがって、コンパイラは不平を言います。つまり、これは基本的に「おい! これを呼び出すことはできない – クラス内に存在する必要がある!」と言っているようなものです。

したがって、中括弧を移動して、クラス内に必要なすべてのメソッドを囲みます。

using UnityEngine;
using System.Collections;

public class Spawner : MonoBehaviour {
    public GameObject[] groups;
    
    public void spawnNext() {
    int i = Random.Range(0, groups.Length);
    Instantiate(groups[i], transform.position, Quaternion.identity);
    }
    
    void Start() {
    spawnNext();
    }
}

これで、そのエラーはなくなりました。

コーディング中には、おそらく 1 日に何度も構文エラーが発生することを覚悟しておく必要があります。どれだけ経験があるかに関係なく、誰もが経験します。 場合によっては、変数やキーワードのスペルを間違えることがあります。 文字列やコード ブロックを閉じるのを忘れることがあります。 猫がキーボードの上を歩いて、非常に奇妙な文字を入力することがあります。 メソッド呼び出しに必要なパラメーターの数を忘れてしまうことがあります。

我々はすべての間違いを犯します。

そして、私たち全員が構文エラーを修正する必要があるため、構文エラーを修正する必要があります。そして、他の人が修正してくれるのを待つよりも、自分で修正する方法を学んで修正する方がずっと早いのです。 したがって、エラー メッセージの読み方と、コンパイラーが間違っていると伝えている内容に照らして書かれたコードを解釈する方法を学ぶのに少し時間を投資してください。それは本当に役に立ちます。

それで、これを読んでください: 問題を解決するコードの書き方、初心者ガイド パート 2: 構文エラー[^] – 次回コンパイル エラーが発生したときに役立つはずです。

また、構文エラー メッセージを理解するために少し時間を費やしておけば、将来的には大幅な時間を節約できます。この返信を待つのに少なくとも 3 ~ 4 時間はかかりましたが、メール システムではおそらくさらに 10 分ほど追加され、さらにその時間が追加されました。このサイトを見つけてアカウントを作成したら、質問を入力する必要がありました。 読み方を知っていれば、その時間のかなりの部分を節約できた可能性があります。

修正を手伝いたくないと言っているわけではありません。自分が書こうとしていたものを読んでしまって、自分のエラーが見えなくなることもあります。しかし、構文エラーを修正するのは仕事の一部です。自分のためにやれよ、この業界で就職したら、人々はあなたを少し変人だと見るだろう!

[ad_2]

コメント

タイトルとURLをコピーしました