2012-04-29 13 views
2

私は現在、3Dでゲームを作る方法を学んでいるので、いくつかのYouTubeチュートリアルを見ました。 1 Tutorialでは、私はこの方法を見つけました:Java奇妙な方法

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

Source (Line 215)

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

  1. このメソッドにパラメータを追加できますか?このコードは、=glGenTextures()は何をするん

    int texture (String texturename) = glGenTextures(); 
    
  2. 動作しませんか?

(私は1つの方法で異なるテクスチャをロードします。)

+0

あなたはそれがJavaであると確信していますか?なぜなら、私はJavaの中でこのようなことをしたことがないからです。 – AurA

答えて

5

これはメソッド宣言ではありません。メソッドを呼び出すと、ブロックが呼び出されます。

ブロック自体は不要で、基本的には混乱します。ヘック、main方法はほぼ500行の長さであるという事実は、このはあなたからヒントを取るべきであるコードではないことは良い兆候である - 構造的に少なくとも...

+1

+1 ..それは奇妙なコードです...新しいabstractClass(){...} – mglauche

+0

@mglaucheまたはスタブとシームで –

+0

+そのようなコードからのヒントを取らないようにアドバイスしてください。それの多くは、これが最良のスタイルではないことを示しています。 – LiKao

2

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

2

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

1

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