public void onClick(View v) {
int id = v.getId();
if (id == R.id.button2) {
counter++;
changingTextView.setText(""+counter);
YouLost.setText("");
final Random rand = new Random();
int diceRoll = rand.nextInt(6) + 1;
if (diceRoll == 1) {
action1();
}
else if (diceRoll == 2) {
action2();
}
else if (diceRoll == 3) {
action3();
}
else if (diceRoll == 4) {
action4();
}
else if (diceRoll == 5) {
action5();
}
else if (diceRoll == 6) {
action6();
}
}
else if (id == R.id.button4 || id == R.id.button6 || id == R.id.button3 || id == R.id.button5 || id == R.id.button1) {
YouLost.setText("You lost");
counter=0;
changingTextView.setText(""+counter);
}
}
private void action6() {
// TODO Auto-generated method stub
button2.setX(button2.getX());
button2.setY(button2.getY());
}
private void action5() {
// TODO Auto-generated method stub
button2.setX(button1.getX());
button2.setY(button1.getY());
button1.setX(button2.getX());
button1.setY(button2.getY());
}
private void action4() {
// TODO Auto-generated method stub
button2.setX(button3.getX());
button2.setY(button3.getY());
button3.setX(button2.getX());
button3.setY(button2.getY());
}
private void action3() {
// TODO Auto-generated method stub
button2.setX(button4.getX());
button2.setY(button4.getY());
button4.setX(button2.getX());
button4.setY(button2.getY());
}
private void action2() {
// TODO Auto-generated method stub
button2.setX(button5.getX());
button2.setY(button5.getY());
button5.setX(button2.getX());
button5.setY(button2.getY());
}
private void action1() {
// TODO Auto-generated method stub
button2.setX(button6.getX());
button2.setY(button6.getY());
button6.setX(button2.getX());
button6.setY(button2.getY());
}
}
你好:)这是我当前的长脚本,我想我的应用程序将识别你按下什么按钮,如果它的按钮2然后用其他按钮位置(随机)更改button2位置,我做了但有时两个按钮是设置为相同的X,Y,有时按钮是消失的,有人可以将它修复给我吗?非常感谢你:)
答案 0 :(得分:0)
您的代码存在问题:
button2.setX(button1.getX());
button2.setY(button1.getY());
button1.setX(button2.getX());
button1.setY(button2.getY());
在上面的行中,你将button1的x,y设置为button2,现在两者都有相同的x,y。因此,接下来的两行不会改变任何东西。
如果您想要交换这两个按钮的位置,请尝试:
float x=button2.getX();
float y= button2.getY();
button2.setX(button1.getX());
button2.setY(button1.getY());
button1.setX(x);
button1.setY(y);
在所有动作功能中执行以上操作。