2017-03-19 21 views
0

私は円を描くこともできませんが、教室用にJavaとキャンバスを使用してピンボールスタイルのゲームを作成する必要があります。 "非静的メソッドfillCircle (int型、int型、int型)これは私が現在持っているコードです 「静的コンテキストから参照することはできません、場所及び直径クラスは、それ以外の場合は設定して、完璧に動作している:キャンバスを使用してJavaで円を描く方法

public void drawPinball1() 
{ 
    Canvas.fillCircle(currentXLocation, currentYLocation, getDiameter()); 
} 
+0

これは単にあなたが静的メソッドとしてメソッド 'fillCircle'を呼び出すことはできませんことを意味します。インスタンスが必要です。まず、Java 2Dのチュートリアルから始める必要があります。 https://docs.oracle.com/javase/tutorial/2d/また、メッセージを理解するための基本的なJavaチュートリアルもあります。 – sm4

答えて

0

キャンバスのオブジェクトを作成し、それを使ってください。あなたのケースでは

Canvas canvas = new Canvas(300, 250); 
    GraphicsContext gc = canvas.getGraphicsContext2D(); 

    gc.fillOval(10, 60, 30, 30); 
    gc.strokeOval(60, 60, 30, 30); 
2

グラフィックスクラスの描画メソッド

// Drawing (or printing) texts on the graphics screen: 
drawString(String str, int xBaselineLeft, int yBaselineLeft); 

// Drawing lines: 
drawLine(int x1, int y1, int x2, int y2); 
drawPolyline(int[] xPoints, int[] yPoints, int numPoint); 

// Drawing primitive shapes: 
drawRect(int xTopLeft, int yTopLeft, int width, int height); 
drawOval(int xTopLeft, int yTopLeft, int width, int height); 
drawArc(int xTopLeft, int yTopLeft, int width, int height, int startAngle, int arcAngle); 
draw3DRect(int xTopLeft, int, yTopLeft, int width, int height, boolean raised); 
drawRoundRect(int xTopLeft, int yTopLeft, int width, int height, int arcWidth, int arcHeight) 
drawPolygon(int[] xPoints, int[] yPoints, int numPoint); 

// Filling primitive shapes: 
fillRect(int xTopLeft, int yTopLeft, int width, int height); 
fillOval(int xTopLeft, int yTopLeft, int width, int height); 
fillArc(int xTopLeft, int yTopLeft, int width, int height, int startAngle, int arcAngle); 
fill3DRect(int xTopLeft, int, yTopLeft, int width, int height, boolean raised); 
fillRoundRect(int xTopLeft, int yTopLeft, int width, int height, int arcWidth, int arcHeight) 
fillPolygon(int[] xPoints, int[] yPoints, int numPoint); 

// Drawing (or Displaying) images: 
drawImage(Image img, int xTopLeft, int yTopLeft, ImageObserver obs); // draw image with its size 
drawImage(Image img, int xTopLeft, int yTopLeft, int width, int height, ImageObserver o); // resize image on screen 

を、あなたはあなたを助けることがありますdrawOval(int xTopLeft, int yTopLeft, int width, int height);

thisチュートリアルを使用します。

参考:https://www.ntu.edu.sg/home/ehchua/programming/java/J4b_CustomGraphics.html

関連する問題