0

I am making a school project in JAVAFX and I can't figure out how to collide with my 2 objects(bullet and enemy tank). Can someone tell me the right way to do it? I am trying more than 3 weeks... google everything but still not working.

public class TankGame extends Application {

private final static int WIDTH = 800;
private final static int HEIGHT = 600;    
private final static Image BACKGROUND_IMAGE = new       Image(TankGame.class.getResource("imgs/Tank_back.png").toString()); 
private final static Image PATRONA = new Image(TankGame.class.getResource("imgs/Tank_patrona.png").toString());
private Animation modelAnimacePatrony;
private Group patrona;
private double smerStrelyX, smerStrelyY;
private Otaceni otaceni = new Otaceni();
private TankHrac tankHrac = new TankHrac();
private TankProtivnik tankProtivnik = new TankProtivnik();

@Override
public void start(Stage primaryStage) {


    final ImageView background = new ImageView(BACKGROUND_IMAGE);
    final ImageView bullet = new ImageView(PATRONA);
    patrona = new Group(bullet);
    final Group root = new Group(background, tankHrac, tankProtivnik, patrona);//deti

    patrona.setVisible(false);

    Scene scene = new Scene(root, WIDTH, HEIGHT); //okno

    tankHrac.setTranslateX(50);//defaultni vyskyt modelu
    tankHrac.setTranslateY(50);//defaultni vyskyt modelu
    tankProtivnik.setTranslateX(350);//defaultni vyskyt modeluProtivnika
    tankProtivnik.setTranslateY(150);//defaultni vyskyt modeluProtivnika

    smerStrelyX = tankHrac.getTranslateX();
    smerStrelyY = tankHrac.getTranslateY()-250;

     scene.setOnKeyPressed(new EventHandler<KeyEvent>() {

        @Override
        public void handle(KeyEvent ke) {
            /**
             * Shooting
             */
            if( ke.getCode() == KeyCode.SPACE ) { 
                if(!patrona.isVisible()){
                //patrona.setVisible(true);
                shooting(smerStrelyX,smerStrelyY, tankHrac);
                }
            }
        }
    });

    primaryStage.setTitle("Tank 1.0");
    primaryStage.setScene(scene);
    primaryStage.show();
    primaryStage.setResizable(false);
}

public void shooting(double smerStrelyX, double smerStrelyY, TankHrac jakyModelTanku){
    patrona.setVisible(true);
    modelAnimacePatrony = TranslateTransitionBuilder.create()
            .node(patrona)
            .fromX(jakyModelTanku.getTranslateX()+30)
            .toX(smerStrelyX+30)
            .fromY(jakyModelTanku.getTranslateY()+30)
            .toY(smerStrelyY+30)
            .duration(Duration.seconds(1))
            .onFinished(new EventHandler<ActionEvent>(){
                @Override
                public void handle(ActionEvent t){

                    modelAnimacePatrony.stop();
                    patrona.setVisible(false);
                }
            })
            .build();
    modelAnimacePatrony.play();

} 

here are all source files: https://www.dropbox.com/sh/1iq98jtxh8m06tt/7Y9LQSjfYs

Pan Mluvčí
  • 1,242
  • 2
  • 21
  • 42
  • possible duplicate of [Checking Collision of Shapes with JavaFX](http://stackoverflow.com/questions/15013913/checking-collision-of-shapes-with-javafx) – jewelsea Dec 06 '13 at 10:19
  • Does this help? http://stackoverflow.com/questions/15013913/checking-collision-of-shapes-with-javafx – zmirc Dec 06 '13 at 10:19
  • None of this helps...Ive already study this sources – Pan Mluvčí Dec 06 '13 at 10:23
  • Please edit your question to explain in detail why the prior work does not help and what "not working" means, thanks! – jewelsea Dec 06 '13 at 18:06

0 Answers0