Как вы рисуете в данный момент? Ниже приведен метод стрельбы из пуль в небольшой игре, которую я сделал / действительно должен когда-нибудь закончить.
Это далеко не весь код, который вам понадобится, и в некоторых местах есть лучшие способы сделать что-то (что, я уверен, люди начнут рассказывать мне в разделе комментариев после :)), но это должно дать у вас основа для работы.
Единственное, чего не хватает в этом, это регулирования скорости, с которой он перерисовывается (fps), извините, но я не могу вспомнить простой способ сделать это прямо сейчас (нужно вернуться к моей настоящей работе!) Надеюсь, это поможет .
Баффоны этого будут примерно такими:
//these set out the current position of your rectangle
double recX, reYy, recH, recW;
//this gives something to manage speed
int speed;
public void paintComponent(Graphics g) {
g.drawRectangle(recX,rexY,recH,recW);
}
//here we work out the movement
public void clickedScreen(double x, double y){
double newX = x;
double newY = y;
//calculate the speed to move at
vX = newX - recX;
vY = newY - recY;
//get the distance
length = Math.sqrt((v1*v1)+(v2*v2));
//make it a unit vector
v1 = v1/length;
v2 = v2/length;
}
public moveRec(){
recX = recX+(v1*speed);
recY = recY+(v2*speed);
}
while(true) {
moveRec();
repaint();
}