私はjavafxに全く新しいです。
以下のコードが機能していない理由を知るには、おそらく参考になるでしょう。 (行31:pwを解決することはできません)
また、私が間違っているか非効率的に何をしているかも知っていれば分かります。
最終目標は、ある時点で画面上にピクセル単位で画像を描画させることです。
しかし、その画像は、それほど確かではありません。複数の異なるクラスからその画像にピクセルを追加したいと考えています。
さらに従来のUIを上に追加する可能性もありますが、それは優先事項ではありません。startメソッドの外側からステージ内の何かを使用するには?
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.Group;
import javafx.scene.image.PixelWriter;
import javafx.scene.canvas.*;
public class Render extends Application {
public static void render(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
stage.setTitle("Placeholder Title");
Canvas canvas = new Canvas(1280, 720);
Group root = new Group(canvas);
Scene scene = new Scene(root, 1280, 720);
stage.setScene(scene);
PixelWriter pw = canvas.getGraphicsContext2D().getPixelWriter();
stage.show();
}
private static void testRender() {
int c = -1;
for (int x = 0; x < 1280; x++) {
for (int y = 0; y < 720; y++, c--) {
pw.setArgb(x, y, c);
}
}
}
}
「働いていない」と具体的に説明してください - 起こっていること(起こってはならない)、何が起こると予想したのですか、何か誤りがありましたか?行為エラーメッセージと行)... – UnholySheep
"start'の外で' Stage'を使う方法については、別のクラスメンバ変数に格納するか、明示的にそれを使用する必要がある関数に渡すことができますそれ。 – UnholySheep
@UnholySheep、プログラムは実行されますが、「解決できない」PixelWriterを使用しようとしているため、どこでもtestRenderメソッドを使用することはできません。何も解決できません。私は、startメソッドの中で宣言したものは使用できません。 – Torn