ゲームファン【ゲームサイエンス学科ブログ】

隠し関数、DrawCircleGauge

こんばんは、チームダイコンです。
いつも通り、水曜日と木曜日の進捗について報告します。

やはり初めての開発ということで、早速スケジュール通りに進まなくなってきました。
単純に特定の作業が遅れているということもありますが、同時に早く終わってしまう作業も出てきました。その上、ある作業が終わらないと開始できない作業ももちろんあります。
そうなると、暇になってしまう人が出てくるわけで……そのまま手持ち無沙汰なのも困るので、制限時間表示を改善することにしました。

今までは残り時間を表す数字を表示する仕様でしたが、代わりにアナログ時計を表示することで、よりゲームっぽく仕上げることにしました。
その際、単純に時計を表示するだけだと、ゲーム上の重要な数値を表す指標としてはかなり直感的ではなかったので、時計の針が通り過ぎた部分を赤く塗りつぶすことで、ゲージらしさを追求しました。こんな感じです。

f0201320_2324967.png


時計の針が通り過ぎた部分を赤くするという処理ですが、これはDXライブラリの DrawCircleGauge で描画しています。
リファレンスには乗っていないのですが、結構使っている人は多いみたいで、ネット上にはごろごろ記事があります。関数の定義に飛べば、作者がコメントで端的に説明を書いてくれているので、それも参考になります。

ただ、この関数を使う過程でも少し詰まったところがありまして……最初にこの関数を使用した時、画面にはこう表示されてしまいました。

f0201320_2335751.png


これを見たときは本当に何が起こっているのか分からなくて解決に手間取ったのですが、こちらで準備した画像ファイルが悪かったみたいです。
DrawCircleGauge は、円グラフとして描画したい円の画像を読み込むのですが、その円の画像について多少制限がありまして……。
キャンバスにちょうど収まる大きさで円が描かれた画像は使えないようです。すなわち円の四方に空間を設けなければいけないということですね。ちなみに空間は各自で透過処理をする必要があります。
図で説明するなら、下記のような感じです。(白い部分は本来なら透過されています)

f0201320_2334391.png


他人のライブラリを使うと、問題が出た際に困ることもあるということですね。
ゲーム制作に慣れたら、独自ライブラリの作成に取り掛かりたいと思います。



トライデントコンピュータ専門学校 ゲームサイエンス学科についてはコチラ!

by trident-game | 2013-05-30 23:12 | Comments(0)

専門学校トライデント ゲームサイエンス学科のブログ
by trident-game
プロフィールを見る
画像一覧

ゲームプログラミング体験入学

最新のトラックバック

venushack.co..
from venushack.com/..
http://while..
from http://whileli..
http://while..
from http://whileli..
http://www.v..
from http://www.val..
http://www.v..
from http://www.val..

ライフログ

検索

ブログパーツ

ファン

ブログジャンル