对此有点困惑,所以我想我会发布。对不起,如果我的标题不清楚,对Java很新,不知道如何解释它。反正这里是我的代码集到目前为止(问题位我猜)停止执行方法转移到下一个方法
int currentImageIndex = 0; // Assuming [0] is your first image.
int[] nextImageList = { 2, 4, 5, 4, 5, 4, 5, 0, 1 };
public void nekoRun() {
moveIn();
scratch();
moveOut();
private void moveIn() {
for (int i = 0; i < getWidth()/2; i+=10) {
xPos = i;
// swap images
if (currentImage == nekoPics[0])
currentImage = nekoPics[1];
else
currentImage = nekoPics[0];
repaint();
pause(150);
private void scratch() {
for (int i = xPos; i < getWidth();) {
xPos = i;
// Swap images.
currentImageIndex = nextImageList[currentImageIndex];
currentImage = nekoPics[currentImageIndex];
repaint();
pause(150);
}
}
private void moveOut() {
for (int i = xPos; i < getWidth(); i+=10) {
xPos = i;
// swap images
if (currentImage == nekoPics[0])
currentImage = nekoPics[1];
else
currentImage = nekoPics[0];
repaint();
pause(150);
}
}
所以基本上会发生什么(这是不是所有的代码只是“多汁的部分”,猫就会在屏幕上运行,然后坐着,它应该划伤两次,我得到了一些与阵列有关的帮助,因为我只是使用一堆其他的if语句,而且我知道这是多余的。猫会跑到中心,它会划伤,并保持因为显而易见的原因,在一个循环中抓挠,我只是困惑于如何让它移动到moveOut方法上,而不是保持循环的方式。对不起,如果这有点不清楚,我很新,所以忍受着我
在此先感谢
正如一边,你考虑重新命名你的'scratch()'方法'scratchTwice()'。这在这里并不重要,但我相信你可以看到具有方法名称的价值,这些名称可以在更大和更复杂的系统中反映*它们的功能。 – Edd 2013-02-22 14:14:17