{% else-1 %}
//Спрайт, движущийся по произвольной траектории
//TrajectorySprite(Image image,int[] pointX, int[] pointY)-конструктор, где pointX и pointY- массивы координат точек, к которым движется спрайт
//void update()-движение по траектории на 1 пиксель за раз

                        
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;

public class TrajectorySprite extends Sprite{
private int[] pointX,pointY; //массивы с координатами точек, к которым будет происходить движение
private int numberPoint; //номер точки, к которой двигаться

public TrajectorySprite(Image image,int[] pointX, int[] pointY){
super(image);
this.pointX=pointX;
this.pointY=pointY;
numberPoint=0;
}

public void update(){
//если точка достигнута и не является последней, то двигаться к следующей точке
if (getX()==pointX[numberPoint] && getY()==pointY[numberPoint] && numberPoint!=pointX.length-1) numberPoint++;
//если точка достигнута и является последней,то двигаться к первой точке
if (getX()==pointX[numberPoint] && getY()==pointY[numberPoint] && numberPoint==pointX.length-1) numberPoint=0;
//движение к точке по оси икс
if (getX()<pointX[numberPoint]) move(1,0);
if (getX()>pointX[numberPoint]) move(-1,0);
//движение к точке по оси игрек
if (getY()<pointY[numberPoint]) move(0,1);
if (getY()>pointY[numberPoint]) move(0,-1);

}

}
1 20 0
Без комментариев...