-2

今天我遇到了一个我无法解释的错误,我正在观看 notch 的视频,他正在创建那个 2d 游戏 HerpFortress ( http://pt.twitch.tv/notch/b/309642636 (0:42:44)),我正在关注他的代码,但在这一行我得到了一个错误,我通过了......

img.getRGB(x * sw, y * sh, sw, sh, result [x][y].pixels, 0, sw);

错误是,

The method getRGB(int, int, int, int, int[], int, int) in the type BufferedImage is not applicable for the arguments (int, int, int, int, int, int, int)

帮助 ?

4

2 回答 2

1

错误消息本身会告诉您出了什么问题。该getRGB方法在第 5 个参数中需要一个整数数组 ( int[]),并且您必须提供一个 plain int,尽管从您的代码中并不清楚这一点result [x][y].pixels

于 2013-04-02T19:00:35.183 回答
1
img.getRGB(x * sw, y * sh, sw, sh, result [x][y].pixels, 0, sh);

结果 [x][y].pixels中的错误:---> 这是一个值而不是数组,这个方法在这个地方取数据将被写入的数组就像这个例子:

int[] outPixels = new int[width*height];
img.getRGB( 0, 0, width, height, outPixels, 0, width );

方法 :

getRGB(startX, startY, w, h, rgbArray, offset, scansize)

参数:

startX - the starting X coordinate
startY - the starting Y coordinate 
w - width of region h - height of region 
rgbArray - if not null, the rgb pixels are written here 
offset - offset into the rgbArray scansize - scanline stride for the rgbArray
于 2013-04-02T19:01:46.420 回答