2012-04-29 56 views
2

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

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

Source (Line 215)

我从来没有见过这种类型的方法(我认为这是一个方法)之前,所以我现在有两个问题:

  1. 我可以为这个方法添加参数吗?此代码不能正常工作

    int texture (String texturename) = glGenTextures(); 
    
  2. 什么是=glGenTextures()吗?

(我想一个方法来加载不同的纹理。)

+0

你确定这是Java吗?因为我从来没有遇到类似java – AurA 2012-04-29 08:41:52

回答

5

这不是一个方法声明 - 它是一个方法调用后跟一个块。

该块本身是不必要的,基本上只是混淆。哎呀,一个事实,即main方法几乎是500线长是一个很好的迹象,这代码,你应该服用提示 - 至少在结构方面...

+1

+1这样的东西......这是奇怪的代码...容易与不同的方法混淆,如:new abstractClass(){...} – mglauche 2012-04-29 08:43:03

+0

@mglauche或与存根和接缝 – 2012-04-29 08:44:45

+0

+ 1的建议不要从这样的代码提示。其中大部分表明,这不是最好的风格。 – LiKao 2012-04-29 08:49:16

2

这不是一个方法定义。这是一种方法致电。调用后的{引入了一个新的块/作用域。如果你立即看到这个调用,你会看到另一个块(因为它本身)看起来不像方法定义。

2

这是一个方法调用接着是一段代码。代码块与前面的方法调用无关。它的唯一用处是定义一个新的块范围(允许定义仅在此块中可见的局部变量)。

1

看看压痕。它只是一个int变量floorTexture的定义,它被初始化为返回值glGenTextures()。接下来的代码只是main中的一个块,用于确保在块保留后变量超出范围。所以没有方法,也没有办法添加参数。