C言語ゲームプログラミング 第3回講座




2014年10月より個人の方を対象に、Study C無料提供を開始しました。
C言語を勉強中の方は、学習・教育に最適なC言語インタープリタのStudy Cを使ってみてください(個人の方は無料です)。
大学・高専・高校などの教育機関での採用実績も多数あるロングセラー商品Study Cが、個人向けに無料提供を始めました。
インタープリタの手軽さに加え、ゲームや3Dタートルグラフィックで楽しく勉強したりと、C言語の学習を協力にサポートします。
ブロック崩しゲーム 3Dツリー クリスマスツリー
また、このようなボタンの用意されているページでは、掲載しているプログラムをStudy Cに直接ロードし実行したりすることができます。
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する
Study C無料利用についての詳細は、このページを参照してください。



1.ビットマップ描画の練習

一度、ロードしたビットマップファイルは、そのハンドルを指定することで何回でも描画することができます。 次のプログラムを実行してみてください。

#include <graph.h>

main()
{
        HBITMAP hbmp;

        //ビットマップファイルの読み込み
        hbmp = gl_loadbitmap("c:\\windows\\赤レンガ.bmp");
        if(hbmp == NULL){
                printf("ビットマップファイルが見つかりません.\n");
                exit(0);
        }
        //ウィンドウのオープン
        gl_openwin(-1, -1, 640, 480, 0);

        //ビットマップファイルの描画
        gl_drawbitmap(hbmp, 0, 0, 54, 96, 0, 0);        //@を表示
        gl_drawbitmap(hbmp, 200, 100, 54, 96, 0, 0);    //Aを表示
        gl_drawbitmap(hbmp, 300, 100, 30, 30, 0, 0);    //Bを表示
        gl_drawbitmap(hbmp, 300, 200, 30, 30, 20, 50);  //Cを表示
        //画面への反映
        gl_refresh();
}

結果は次のようになります(@、A、B、Cは説明のため書き足したものです)。

ビットマップ描画例

@、Aは同じ大きさ(54×96)ですが、ウィンドウ内での表示位置を変えています。 B、Cも小サイズで同じ大きさ(30×30)ですが、ビットマップの表示開始位置を指定しているため描かれる絵が異なっています。


2.ビットマップファイルの作成

ビットマップファイルは、ペイントプログラムで作成します(もちろん他に市販の描画ソフトをお持ちらなばそれをお使いください)。 デザイナーではないので絵の描き方はよく知りませんが、いつもどの様な方法で描いているか簡単に説明します。

これからしばらく使用するボールの絵のビットマップファイルを作成します。 次の手順で作成を行います。
(1)ペイントプログラムを実行してください(スタートメニューの「プログラム」→「アクセサリ」→「ペイント」)。
(2)「変形(I)」メニューから「キャンバスの色とサイズ」を選択します。
(3)「キャンバスの色とサイズ」で幅と高さをそれぞれ16にセットしOKボタンを押します。
(4)16×16のサイズだと描画領域はかなり小さいと思います。そこで「表示(V)」メニューで「拡大(Z)」→「拡大率の指定(U)」で800%を選びます。
(5)これは、好みにもよるかもしれませんが、「表示(V)」メニューで「拡大(Z)」→「グリッドを表示(G)」でグリッド表示にします。
(6)後はペイントウィンドウの下部で色を選び、左側で鉛筆などを選択し絵を描いていきます。
(7)最後に保存して完了です。

paintでのビットマップファイルの作成

このビットマップファイルは、テニスボールのビットマップファイルを右ボタンメニューの「名前を付けて画像を保存」でダウンロードしてください。
次回のプログラムで使用するのでダウンロードしておいてください(C:\StudyC\MyProg\にダウンロードしておいてください)。