imageViewをx回移動する関数を実行しようとしています。これはウォーキングアニメーションです。関数をx回実行できません
public void doWalk() {
String mDrawableName = buddy.leraar.naam;
if (buddy.gezondheid < 30)
{
mDrawableName += "_dik_lopen";
}
else if (buddy.gezondheid > 85)
{
mDrawableName += "_dun_lopen";
}
else {
mDrawableName += "_medium_lopen";
}
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
imageView.setImageResource(resID);
Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
executeWalk(rnd.nextInt(1));
};
};
timer.schedule(timerTask, 300);
}
public void executeWalk(int left) {
if (rolls < 10)
{
rolls++;
if (left == 0)
{
imageView.setX(imageView.getLeft() - 10);
}
else {
imageView.setX(imageView.getLeft() + 10);
}
}
}
何らかの理由で、executeWalk関数が300ミリ秒ごとに実行されるのに対し、何回か呼び出されるようです。私は、たとえ異なった例をたくさん見ても、私が間違っていることを知らない。
はご回答いただきありがとうございます何らかの理由で私のコードはまだ1回しか実行されません。私は別の問題があると思う –