JavaFX导入图像&;绘图
我对Java非常陌生,正在使用Netbeans程序。对于如何导入图像,甚至如何使用图形绘制图像,我感到非常困惑。我已经设置了我的场景,想在屏幕上导入多个图像,但是在将图像导入场景的第一步,我就被卡住了。任何关于如何让图形工作的建议都将是一个很好的开始JavaFX导入图像&;绘图,java,javafx,Java,Javafx,我对Java非常陌生,正在使用Netbeans程序。对于如何导入图像,甚至如何使用图形绘制图像,我感到非常困惑。我已经设置了我的场景,想在屏幕上导入多个图像,但是在将图像导入场景的第一步,我就被卡住了。任何关于如何让图形工作的建议都将是一个很好的开始 package spaceinvaders; import java.util.Scanner; import javafx.application.Application; import javafx.scene.Scene; import j
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 );
}
}
我知道这可能非常简单,我对编程部分很在行,但我一生都不知道如何让这个程序的图形部分工作。你可以创建一个
图像视图
,并将其添加到你的窗格
。移动其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);
observeListChildren=pane.getChildren();
ImageView sprite=newImageView(getClass().getResource(“sprite.png”).toString());
添加(雪碧);
sprite.setLayoutX(300d);
雪碧.刚毛(20d);
不过我还是建议您使用。不要在JavaFX应用程序线程上使用
Scanner
!你会阻止它运行。您对加载和显示PNG/JPEG图像有何疑问?另外,通过使用一个框架,你们也许可以花更多的时间来处理大量的家务,比如说,老实说,我不知道还有什么更好的。这是我能够弄清楚如何接收输入并将其指定给变量的唯一方法,我计划稍后使用该变量为我希望放置在场景中的图像指定x和y位置。想象一下太空入侵者。我想为行和列获取用户输入,并在屏幕上放置一堆外星人。我的主要问题是如何在屏幕上显示这个PNG/JPEG图像。它甚至不必是PNG/JPEG,哪怕只是一个小正方形,只要我想,我都可以做REST。看起来你需要先研究事件驱动的编程。然后做一些基础教程。你太超前了。我同意@Sedrick的观点。阅读可能是一个好的开始。这是我在学校学习一周后的第一个作业。到目前为止,我一直在读这本教科书,但无论是从课本上还是从我的老师那里都一无所获。在这一点上我得自学。我有使用Python的经验,但使用Java则完全不同。我将研究事件驱动编程。我很感激:)我们正在学习使用Netbeans 8.2。在我看来,FXGL是另一个程序吗?我希望…NetBeans是一个IDE,FXGL是一个库,它通过提供常见的行为帮助您在JavaFX中创建游戏。任何一个优秀的程序员都会使用一个库,而不是通过发布自己的东西来浪费时间。好吧,我会下载它并研究它是否能帮助我:)一定要查看它的wiki,解释如何使用它。