【发布时间】:2016-09-25 11:45:18
【问题描述】:
我正在使用 Java 和 XML 在 AndroidStudio(没有 Libgdx、Gamemaker...)中开发 Space Invaders,但我遇到了一个问题...希望您能帮助我。
首先,这是我的app design.
如您所见,在 RelativeLayout 的底部,您可以找到一艘宇宙飞船和两个按钮(一个在左侧,另一个按钮在飞船的右侧)。按钮是不可见的。左侧按钮的 id 为“control_izquierda”,右侧的按钮为“control_derecha”。
当你按下左键时,飞船向右移动,当你按下右键时,飞船向左移动(这很好用)。
我的问题是在按下其中一个按钮时移动宇宙飞船(当我按住按钮时,宇宙飞船应该移动)。我尝试了不同的方法来尝试这个,但我找不到正确的解决方案。
这是我的java代码
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void actualizaPosicion(View v) {
switch (v.getId()) {
case R.id.control_derecha:
findViewById(R.id.nave).setX(findViewById(R.id.nave).getX() - 30);
break;
case R.id.control_izquierda:
findViewById(R.id.nave).setX(findViewById(R.id.nave).getX() + 30);
break;
}
}
}
单击其中一个按钮时,我的 XML 调用“actualizaPosicion”方法。此方法检测是否单击了右键或左键,然后上传飞船位置(id为“nave”),我想当一个按钮被按住时,飞船移动,当一个按钮不再按下时,飞船停了。
感谢您的帮助。
非常感谢!
【问题讨论】:
标签: java android button imageview