いちばんやさしいゲームの作り方

文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ

図形を描画する際に背景を透過するためには SetBkMode() 関数を使います。

通常、 GDI 関数を使って図形を描画する際には、描画に先だって描画範囲が背景色で塗りつぶされます。一番わかりやすいのはテキストを描画する TextOut() 関数だと思います。しかしながら、時として、特にゲームの場合は背景を透過して欲しい場合があります。これを実現するためには SetBkMode() 関数に TRANSPARENT と設定します。

// デバイスコンテキストを取得
HDC hdc = GetDC(NULL);

// デバイスコンテキストの背景描画モードを TRANSPARENT に変更
SetBkMode(hdc, TRANSPARENT);

// 描画(背景が透過されている)
TextOut(hdc, 10, 10, TEXT("てすてぃー"), lstrlen(TEXT("てすてぃー")));

// 後始末
ReleaseDC(NULL, hdc);

なお、背景色が欲しい場合は SetBkMode() 関数に OPAQUE を指定するのですが、このとき背景色を指定するための関数は SetBkColor() になります。

SetBkMode(hdc, OPAQUE);
SetBkColor(hdc, RGB(255, 0, 0));

この関数は意外なところに応用が利くのですが、それはまた後ほど。

Contributions




Trackback URL

メルマガ登録・解除
 
挫折不可能!初級ゲームプログラミング完全マニュアル
RSS track feedいちばんやさしいゲームの作り方 TECHNORATI お気に入りに追加する
フィードメーター - いちばんやさしいゲームの作り方 ブログSEO対策:track word カウンター
Firefox meter あわせて読みたい SEO STATUS
このページの先頭へ