myCanvasクラスの説明

概要

このクラスはCanvasクラスを継承しており、球と坂のグラフィックの描画を行うクラスである。

クラスの階層図

java.lang.Object
   |
   +--java.awt.Component
         |
         +--java.awt.Canvas
               |
               +--myCanvas

Canvasクラスについて

Canvasは四角い自由にグラフィックを表示できる部品である。
描画用のメソッドを用意し、Canvasクラスを継承すればグラフィックスをJavaで描く事ができるようになる。
・paintメソッド

Canvasクラスのpaintメソッドをオーバーロードして使っている。

drawSlope(g);
坂を描画するメソッドを呼び出す。
坂は常に描かれていないといけないのでここで描くようになっている。
・drawSlopeメソッド

坂を描画するメソッド。

g.drawLine(20,180-(int)(260/Math.sqrt(3)),20,180);
g.drawLine(20,180-(int)(260/Math.sqrt(3)),280,180);
g.drawLine(20,180,280,180);
坂の三角形を描く。
坂の傾斜角度が計算に必要になるので、今回は30°ということにしてある。
本当はこの角度も変更できるようにしようと思ったのだが、角度によってCanvasからはみ出てしまうことが多いので結局30°固定にすることにした。
・drawBallメソッド

球のグラフィックスを描画するメソッド。

Graphics g=getGraphics();
g.drawOval((int)(x-5)+20,(int)(y-5)+23,10,10);

gerGraphicsでこのキャンバスのグラフィックメソッドを取得している。
・drawメソッド

グラフィックを動くアニメーションとして描画するメソッド

Graphics g=getGraphics();
g.clearRect(0,0,getSize().width,getSize().height);
drawSlope(g);

これもグラフィックメソッドを取得して使っている。
すべて一旦消してから坂を書き直すと言うことを繰り返す。
戻る   graphCanvasクラスへ