2

私は現在、3Dでゲームを作成する方法を学ぼうとしているので、いくつかのYouTubeチュートリアルを視聴しました。あるチュートリアルで、私はこの方法を見つけました:

int floorTexture = glGenTextures();
{
  // ...
}

ソース(215行目)

私はこれまでこのタイプの方法を見たことがないので(私はそれが方法だと思います)、2つの質問があります:

  1. このメソッドにパラメーターを追加できますか?このコードは機能しません

    int texture (String texturename) = glGenTextures();
    
  2. 何をし=glGenTextures()ますか?

(1つのメソッドで異なるテクスチャをロードしたい。)

4

4 に答える 4

5

これはメソッド宣言ではなく、メソッド呼び出しの後にブロックが続きます。

ブロック自体は不要で、基本的には混乱を招きます。ちなみに、mainメソッドの長さが500行近くあるという事実は、これがコードではないことを示す良い兆候です。少なくとも構造に関しては、ヒントを得る必要があります。

于 2012-04-29T08:41:56.660 に答える
2

それはメソッド定義ではありません。これはメソッド呼び出しです。アフターコールは{新しいブロック/スコープを導入します。その呼び出しのすぐ上を見ると、(それ自体が)メソッド定義のように見えない別のブロックが表示されます。

于 2012-04-29T08:41:51.613 に答える
2

これは、コードのブロックが続くメソッド呼び出しです。コードのブロックは、前のメソッド呼び出しとは関係ありません。その唯一の用途は、新しいブロック スコープを定義することです (このブロックでのみ表示されるローカル変数を定義できます)。

于 2012-04-29T08:42:45.727 に答える
1

インデントを見てください。の戻り値に初期化されるint変数の定義にすぎません。以下のコードは、ブロックを離れた後に変数がスコープ外に出ることを保証するための単なるブロックです。したがって、パラメータを追加する方法も方法もありません。floorTextureglGenTextures()main

于 2012-04-29T08:46:13.957 に答える