2

我目前正在尝试学习如何制作 3D 游戏,所以我看了一些 YouTube 教程。在一个教程中,我发现了这种方法:

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

来源(第 215 行)

我以前从未见过这种方法(我认为是一种方法),所以我现在有两个问题:

  1. 我可以给这个方法添加参数吗?此代码不起作用

    int texture (String texturename) = glGenTextures();
    
  2. 做什么的=glGenTextures()

(我想用一种方法加载不同的纹理。)

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 回答