戻る プログラムを作る (1)  お絵かきソフトの基礎

ソフトウェアを理解するために、実際に簡単なプログラムを作ってみましょう。

下図のような、600×400ピクセルの画面で、 マウスをドラッグして 「お絵かき」 をするプログラムです。 プログラムを簡単にするために、マウスの位置に円を描くだけですが、 最終的には色やペンの太さを変えたり、消したり、クリアしたりする機能をつけます。

コンピュータで絵や図を描くには座標を使いますが、コンピュータの画面では左上が原点になり、 x 軸は右に、y 軸は数学の座標とは逆で、下に向かって正になります。 ここでは Java というプログラミング言語を使っていますので、 円も、図中のオレンジの円のように、左上の基準点の座標 x, y と幅 w、高 h さを指定して描きます。

画面の図

下の、白い画面は、このお絵かきプログラムの、最も単純なものです。

画面の中でドラッグすると、マウスカーソルの軌跡に赤い小さい円が描かれます。



このプログラムは、白い画面を表示して、ドラッグされると小さい円を描くだけですから、とても簡単です。

プログラムのソースリストは、以下のように短いものですが、とりあえずこれだけで 「お絵かき」ができます。

"/*" と "*/" で囲まれた部分や "//" より右はコメントで、 プログラムそのものには関係がありません。このページではコメントを緑で表示しています。


/* ----------------------------------------------------------------------------------------------
    board.java      お絵かきソフトの基礎                        ver. 1.00 (JDK 1.02)
                                                                ueyama@infonet.co.jp  2000.07.25
---------------------------------------------------------------------------------------------- */
import java.applet.*;
import java.awt.*;
import java.util.*;

public class board extends Applet
{
  Graphics gr;


  public void init()// 初期設定
  {
    setBackground(Color.white);
    gr=getGraphics();
  }


  public void paint(Graphics g)// 画面の表示
  {
    g.clearRect(0, 0, 600, 400);
  }


  public boolean mouseDrag(Event e, int x, int y)          // マウスがドラッグされたときの処理
  {
    gr.setColor(Color.red);// ペンの色を赤にする
    gr.fillOval(x, y, 6, 6);// 円を描く
    return true;
  }
}


情報処理概論 に戻る  講義資料 に戻る  プログラムを作る (1)  「らくがきボード」  戻る

2000.07.25 ueyama@infonet.co.jp