相关疑难解决方法(0)

使用JavaFX检查形状的碰撞

我正在尝试进行一些碰撞检测.对于这个测试,我使用简单的矩形Shape,并检查它们Bound,以确定它们是否发生碰撞.虽然检测不能按预期工作.我尝试过使用不同的方法移动对象(relocate,setLayoutX,Y)以及不同的绑定检查(boundsInLocal,boundsInParrent等),但我仍然无法使其工作.如您所见,检测仅适用于一个对象,即使您有三个对象,也只有一个检测到碰撞.这是一些演示问题的工作代码:

import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Cursor;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

import java.util.ArrayList;


public class CollisionTester extends Application {


    private ArrayList<Rectangle> rectangleArrayList;

    public static void main(String[] args) {
        launch(args);
    }

    public void start(Stage primaryStage) {
        primaryStage.setTitle("The test");
        Group root = new Group();
        Scene scene = new Scene(root, 400, 400);

        rectangleArrayList = new ArrayList<Rectangle>();
        rectangleArrayList.add(new Rectangle(30.0, 30.0, Color.GREEN));
        rectangleArrayList.add(new Rectangle(30.0, 30.0, Color.RED));
        rectangleArrayList.add(new Rectangle(30.0, 30.0, Color.CYAN));
        for(Rectangle block : …
Run Code Online (Sandbox Code Playgroud)

javafx collision-detection javafx-2

18
推荐指数
1
解决办法
4万
查看次数

标签 统计

collision-detection ×1

javafx ×1

javafx-2 ×1