忍者ブログ

からすまる日誌 java

応用(7) こびとの画像を並べる

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

応用(7) こびとの画像を並べる

共有フォルダからファイルを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);
  */
 }
}
 
先生のコードをちょっと写し間違えたようだ。動かないっぽいな。
 
PR

コメント

ブログ内検索

P R