JavaFX Импорт изображений и графики - PullRequest
0 голосов
/ 21 мая 2018

Я очень новичок в Java и работаю с программой Netbeans.Я очень сильно запутался в том, как импортировать изображения или даже использовать графику для рисования изображения.Я установил свою сцену и хочу, например, импортировать несколько изображений по экрану, но я застрял на первом этапе получения изображения на сцену.Любые предложения о том, как заставить графику работать, были бы отличным началом.

package spaceinvaders;

import java.util.Scanner;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

/**
 *
 * @author Twissted
 */

public class SpaceInvaders extends Application {

@Override
public void start ( Stage stage ) throws Exception {

    Pane root = new Pane ();
    Scene scene = new Scene ( root, 500, 500, Color.BLACK );
    stage.setTitle ( "Space Invaders" );
    stage.setScene ( scene );




    System.out.println ( "Please enter how many rows of aliens you wish to encounter: " );
    int r1;
    Scanner keyboard = new Scanner ( System.in );
    r1 = keyboard.nextInt ();


    stage.show ();

}



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

}

Я понимаю, что это, вероятно, невероятно просто, я хорошо разбираюсь в программировании, но я просто ради жизни могу »Даже после поиска в Интернете не могу понять, как заставить работать графическую часть этой программы.

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете создать ImageView и добавить его к своему Pane.Переместите его свойства LayoutX и LayoutY, чтобы разместить его на экране.В этом примере файл sprite.png должен находиться в том же пространстве пакета, что и класс.Убедитесь, что вы правильно упаковали его.

ObservableList<Node> children = pane.getChildren();
ImageView sprite = new ImageView(getClass().getResource("sprite.png").toString());
 children.add(sprite);
 sprite.setLayoutX(300d);
 sprite.setLayoutY(20d);

Я все же советую вам использовать FXGL .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...