учитывая, что у вас еще нет ответа, я подумал, что постараюсь внести свой вклад, хотя мой опыт не в J2ME. У меня есть некоторая практика в Java2D, которая, вероятно, будет возможна в J2ME, хотя кто-то может сказать мне, если иначе!
Если вы можете использовать JPanel, вы можете разработать дизайн, похожий на тот, который я использовал в прошлом.
Идея: через заданный интервал соединить каждую сущность, которая должна быть нарисована (в данном случае клинья), обновить ее, чтобы найти новую позицию, и попросить ее нарисовать себя. Чтобы продемонстрировать это, вот довольно раздетая версия GamePanel, которую я использовал раньше -
public class GamePanel extends JPanel {
Timer loopTimer;
boolean changed = false;
ArrayList<Entity> entities = new ArrayList<Entity>();
int spinSpeed = 1;
int pollingMillis = 20;
public GamePanel () {
setBackground(Color.black);
setDoubleBuffered(true);
entities.add(new Wedge(0,0,0,90,Color.red)); // See below about these lines
entities.add(new Wedge(0,0,90,90,Color.blue));
entities.add(new Wedge(0,0,180,90,Color.yellow));
entities.add(new Wedge(0,0,270,90,Color.green));
loopTimer = new Timer();
loopTimer.scheduleAtFixedRate(new runLoop(), 0, pollingMillis);
}
public void addEntity(Entity e) {
entities.add(e);
}
@Override
public void paint (Graphics graph) {
super.paint(graph);
Graphics2D g = (Graphics2D) graph;
for (Entity e: entities) {
e.draw(g);
}
g.dispose();
}
private class runLoop extends TimerTask {
@Override
public void run() {
for (Entity e: entities) {
e.update();
}
if (changed) {
repaint();
changed = false;
}
}
}
}
Это создаст базовый цикл, который позволит вам отображать элементы в JPanel. В приведенном выше коде добавлено 4 «клина», хотя для этого вам нужно еще немного кода. Для этого вам понадобится следующий абстрактный класс:
public abstract class Entity {
int x,y;
public Entity (int x, int y) {
this.x = x;
this.y = y;
}
public abstract void update();
public abstract void draw(Graphics2D g);
}
Теперь сущности, которые вы хотите визуализировать, расширяют этот класс, позволяя добавлять их в цикл визуализации. Например, класс клина
Закрытый класс Wedge расширяет Entity {
int startAngle;
int arcLength;
Цветной цвет;
public Wedge (int x, int y, int start, int length, Color color) {
super(x,y);
startAngle = start;
arcLength = length;
this.color = color;
}
@Override
public void update() {
startAngle -= spinSpeed;
changed = true;
}
@Override
public void draw(Graphics2D g) {
g.setColor(color);
g.fillArc(x, y, 200, 200, startAngle, arcLength);
}
}
Это должно позволить вам визуализировать вращающийся анимированный круг! Я надеюсь, что кое-что из этого можно перенести на J2ME, и я также надеюсь, что вы понимаете, что этот код может быть далеко не оптимальным, и если вы хотите, чтобы я расширил его, просто прокомментируйте.