Итак, у меня есть форма Blob, которая реализует MoveableShape.
public interface MoveableShape
{
void draw(Graphics2D g2);
void translate(int dx, int dy);
}
Скажем, экземпляр Blob, b1, попадает в другой Blob, b2.Как только он попадет в другой шарик, я хочу, чтобы он изменил свое направление.Как бы я сигнализировал об этом в Java?До сих пор это то, что я делал, чтобы переместить это нормально:
Timer t = new Timer(DELAY, new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
b1.translate(1, 0);
label.repaint();
}
});
t.start();
И я искренне верю, что есть более эффективный способ сделать это, вместо замены этих 6-й и 7-й строк следующим:
b1.translate(speed, 0);
label.repaint();
if(b1.getX()==b2.getX()) { speed = -speed }
Я прошу прощения за то, что не документировал каждую деталь, но вы должны получить общее представление об этом.Можно ли добавить какое-то пользовательское событие в b1, чтобы изменить его направление, или что-то в этом роде?Кроме того, возможно ли сделать это с помощью ActionListener?Благодаря.