提问关于setRegion()
static int[] createCircle(int xOffset, int yOffset, int radius) {
int[] circlePoints = new int[10 * radius];
for (int loopIndex = 0; loopIndex < 2 * radius + 1; loopIndex++) {
int xCurrent = loopIndex - radius;
int yCurrent = (int) Math.sqrt(radius * radius - xCurrent
* xCurrent);
int doubleLoopIndex = 2 * loopIndex;
circlePoints[doubleLoopIndex] = xCurrent + xOffset;
circlePoints[doubleLoopIndex + 1] = yCurrent + yOffset;
circlePoints[10 * radius - doubleLoopIndex - 2] = xCurrent
+ xOffset;
circlePoints[10 * radius - doubleLoopIndex - 1] = -yCurrent
+ yOffset;
}
return circlePoints;
}
————————————————————————————————————————————
shell.setRegion(createCircle(15,15,15))
shell.setRegion(createCircle(25,25,25))
上面两句都不会出现问题,都可以显示出一个完整的圆形
可是到了shell.setRegion(createCircle(40,40,40))就变成扇形了(只要比40大都不行)
高手赐教~~~~