首页 > 解决方案 > 在javafx中画一条带过渡的线

问题描述

我正在用 JavaFX 制作井字游戏,我想用过渡画一条胜利线。我在 youtube、StackOverflow 等上进行了搜索,但找不到解决方案。
这是drawline函数的代码

private void drawLine()
    {
        List<Integer> winningMoves;
        if (getTurn() == player1) {
            winningMoves = Result.getPlayer1moves();
        } else {
            winningMoves = Result.getPlayer2moves();
        }
        Collections.sort(winningMoves);
        int startX = 35, startY = 35, endX = 35, endY = 35;
        switch (winningMoves.get(0)) {
            case 1:
                startX += 50 + 15;
                startY += 50 + 15 + 15;
                switch (winningMoves.get(2)) {
                    case 3:
                        endX += 50 + 15 + 70 + 30 + 70 + 30;
                        endY += 50 + 15 + 15;
                        break;
                    case 7:
                        endX += 50 + 15;
                        endY += 50 + 15 + 15 + 70 + 30 + 70 + 30;
                        break;
                    case 9:
                        endX += 50 + 15 + 70 + 30 + 70 + 30;
                        endY += 50 + 15 + 15 + 70 + 30 + 70 + 30;
                        break;
                }
                break;
            case 2:
                startX += 50 + 15 + 70 + 30;
                startY += 50 + 15 + 15;
                endX += 50 + 15 + 70 + 30;
                endY += 50 + 15 + 70 + 30 + 70 + 30 + 15;
                break;
            case 3:
                startX += 50 + 15 + 70 + 30 + 70 + 30;
                startY += 50 + 15 + 15;
                switch (winningMoves.get(2)) {
                    case 7:
                        endX += 50 + 15;
                        endY += 50 + 15 + 15 + 70 + 30 + 70 + 30;
                        break;
                    case 9:
                        endX += 50 + 15 + 70 + 30 + 70 + 30;
                        endY += 50 + 15 + 15 + 70 + 30 + 70 + 30;
                        break;
                }
                break;
            case 4:
                startX += 50 + 15;
                startY += 50 + 15 + 15 + 70 + 30 + 15;
                endX += 50 + 15 + 70 + 30 + 70 + 30;
                endY += 50 + 15 + 70 + 30 + 15;
                break;
            case 7:
                startX += 50 + 15;
                startY += 50 + 15 + 15 + 70 + 30 + 70 + 30;
                endX += 50 + 15 + 70 + 30 + 70 + 30;
                endY += 50 + 15 + 15 + 70 + 30 + 70 + 30;
                break;
        }
        line.setStartX(startX);
        line.setStartY(startY);
        line.setEndX(endX);
        line.setEndY(endY);
        line.setStroke(Color.AQUA);
    }

我想用一个过渡画这条线

GitHub上游戏的完整代码

标签: javafxlinetransition

解决方案


推荐阅读