共有フォルダからファイルをdl、解凍して
8つの画像をfxのsrcに貼り付け
drawImageというのを使うと画像を貼れる。
Image myImg1 = new Image("kobito1.gif");
イメージというオブジェクトを作りました。名前はmyImg1。
↓
gc.drawImage(myImg1, 0, 0);
それを張る。座標は0,0
新しく作った実体化したオブジェクトをインスタンスという。
--->Exe13.java
package application;
import javafx. application.Application;
import javafx. scene.Group;
import javafx. scene.Scene;
import javafx. scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image;//import文のこれがなかったのでエラーが出た
import javafx.scene.paint.Color;
import javafx. stage.Stage;
public class EXE13 extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage myStage) {
Group root=new Group();
Canvas canvas = new Canvas(300,300);
GraphicsContext gc = canvas.getGraphicsContext2D();
myDraw(gc);
root.getChildren().add(canvas);
Scene scene = new Scene(root,300,300,Color.GREEN);
myStage.setTitle("Exe12");
myStage.setScene(scene);
myStage.show();
}
private void myDraw(GraphicsContext gc) {
Image myImg1 = new Image("kobito1.gif");
/*
//最初にやったやり方。外にグローバルで変数を置きそれを操作
//これがちょっとまずいのは、初期化がちょいちょい入る点
//入らないほうがよろしいと思う
int imgX = 0;//画像の座標
int imgY = 0;
//横に並べる
for (int i=0; i<10; i++) {
gc.drawImage(myImg1, imgX, imgY);
imgX += 20;
}
imgX = 0;//初期化
//縦に並べる
for (int i=0; i<10; i++) {
gc.drawImage(myImg1, imgX, imgY);
imgY += 20;
}
imgX = 0;//初期化
imgY = 0;//初期化
//ななめに並べる
for (int i=0; i<10; i++) {
gc.drawImage(myImg1, imgX, imgY);
imgX += 20;
imgY += 20;
}
*/
//横に並べる
for (int x=0; x<200; x+=20) {
gc.drawImage(myImg1, x, 0);
}
//縦に並べる
for (int y=0; y<200; y+=20) {
gc.drawImage(myImg1, 0, y);
}
//斜め
for (int x=0; x<200; x+=20) {
gc.drawImage(myImg1, x, x);
}
//先生のコード
for (int i=0; i<10; i++) {
gc.drawImage(myImg1, i*20, i*20);
}
/*
gc.drawImage(myImg1, 0, 0);
gc.drawImage(myImg1, 20, 0);
gc.drawImage(myImg1, 40, 0);
*/
}
}
先生のコードをちょっと写し間違えたようだ。動かないっぽいな。