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クラスへ