Я новичок в 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 );
}
}
Я понимаю, что это, вероятно, невероятно просто, я хорошо разбираюсь в программировании, но я хоть убей не могу понять, даже после поиска в Интернете, как заставить работать графическую часть этой программы.
Честно говоря, лучше не знаю. Это единственный способ, которым я смог выяснить, как получить ввод и назначить его переменной, которую я планирую использовать позже, чтобы назначить позиции x и y изображениям, которые я хочу разместить на сцене. Представьте себе космических захватчиков. Я хочу вводить пользовательские данные для строк и столбцов и размещать на экране кучу инопланетян. Мой главный вопрос - как отобразить это изображение PNG / JPEG на экране. Это даже не обязательно должен быть PNG / JPEG, даже небольшой квадрат, где я хочу, а все остальное я сделаю.
Кажется, вам нужно сначала изучить программирование Event-Driven. Затем сделайте базовый учебник. Вы забегаете вперед.
Я согласен с @Sedrick. Чтение этот учебник может быть хорошим началом.
Это мое первое задание после недели обучения в школе. Я прочитал учебник до этого момента и ничего не получил ни от него, ни от своего инструктора. Я должен научиться этому. У меня есть опыт работы с Python, но при переходе на Java все по-другому. Я изучу программирование, управляемое событиями. Я ценю его :)




Вы можете создать 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.
Мы учимся с использованием Netbeans 8.2. Мне кажется, FXGL - это еще одна программа? Я хотел бы ...
NetBeans - это IDE, FXGL - это библиотека, которая помогает вам создавать игры на JavaFX, предоставляя вам общее поведение. Любой порядочный программист будет использовать библиотеку вместо того, чтобы тратить время на выкатку собственных вещей.
Хорошо, я скачаю его и поищу, может ли он мне помочь в будущем :)
Обязательно загляните в его вики, объяснив, как им пользоваться.
Scannerв потоке вашего приложения JavaFX! Вы заблокируете его запуск. У вас вопрос о загрузке и отображении изображения PNG / JPEG? Кроме того, вы можете тратить больше времени, используя фреймворк, снимая с вас много рутинной работы, например FXGL