如下所示,很多代码非常相似。所以我想知道,有没有办法压缩我的按钮的创建,例如使用for循环?
private void initButtons() {
Rectangle upButtonBounds = new Rectangle(55, 100, 75, 75);
Rectangle downButtonBounds = new Rectangle(55, 0, 75, 75);
Rectangle leftButtonBounds = new Rectangle(0, 50, 75, 75);
Rectangle rightButtonBounds = new Rectangle(105, 50, 75, 75);
Rectangle jumpButtonBounds = new Rectangle(VIEWPORT_WIDTH - 185, 115, 80, 80);
Rectangle attackButtonBounds = new Rectangle(VIEWPORT_WIDTH - 185, 25, 80, 80);
Rectangle magicButtonBounds = new Rectangle(VIEWPORT_WIDTH - 100, 75, 80, 80);
upButton = new GameButton(upButtonBounds, "up");
downButton = new GameButton(downButtonBounds, "down");
leftButton = new GameButton(leftButtonBounds, "left");
rightButton = new GameButton(rightButtonBounds, "right");
jumpButton = new GameButton(jumpButtonBounds, "jump");
attackButton = new GameButton(attackButtonBounds, "attack");
magicButton = new GameButton(magicButtonBounds, "magic");
addActor(upButton);
addActor(downButton);
addActor(leftButton);
addActor(rightButton);
addActor(jumpButton);
addActor(attackButton);
addActor(magicButton);
}
答案 0 :(得分:0)
这是一种方法
float[][] bounds = {{1,2,3,4}, {5,5,7,8} };
String[] names = { "foo", "bar"};
for (int i = 0; i < bounds.length; i++)
{
float[] rect = bounds[i];
addActor(new GameButton(new Rectangle(rect[0], rect[1], rect[2], rect[3]), names[i]));
}