Уважаемые форумчане, помогите решить следующую проблему. В приложение на Canvas рисуется дуга стандартным методом явы. Далее рисуется круг, опять же стандартной функцией. Необходимо создать анимацию движения круга по заданной дуге.
| Код | ... g.drawArc(getX1(), getY1()-getR(), getX2()-getX1(), 2*getR(), 0, -180); //Дуга, с радиусом 20, вписанная в квадрат со стороной 40 ... g.drawOval(element[2].getX1() - 2 * dX - 1 + k, element[2].getY1() - 2 * dY + 2*k, 4 * dX , 4 * dY); // Это окружность, вписанная в квадрат ...
|
Анимацию этой же окружности по прямой делал следующим образом
| Код | for(...) { Thread.sleep(20); g.clearRect(element[j].getX1() - 2 * dX - 1, element[j].getY1() - 2 * dY - k + 2, 4 * dX+1, 4 * dY+1 ); g.drawOval(element[j].getX1() - 2 * dX - 1, element[j].getY1() - 2 * dY - k, 4 * dX , 4 * dY); ... }
|
здесь в массиве элементов element[j] хранятся координаты начала и конца элементов. Для дуг еще добавляется радиус. Соответственно, отрисвовывется кажде 20мс окружность, потом перемещается на новое место (на 1 вперед), а старае стирается. Но с дугой этот подход не сработает. Что посоветует? |