スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ゲーム制作状況 - 2013/10/22版 -

今日の報告!

ローディング画面を作りました。

【参考画像】
Sample_20131022_1.jpg
↑画像だけでは分かりませんが、「少女読み込み中」の画像が、
透過度55⇒透過度255⇒透過度55⇒透過度255⇒透過度55
という風に、蛍の光の如く穏やかに点滅(?)します。


ついでに計算式はこれ。

DWORD t_DifTime = t_TimeManager.GetNowTime() - m_StartTime;
double t_Rate = ( double )t_DifTime / 1000;

if( t_Rate > 1.0 ){
m_StartTime = t_TimeManager.GetNowTime();
t_Rate = 1.0;
}

int degree = ( int )( 360 * t_Rate );

( int )( cos( degree * 3.141592 / 180 ) * 100 + 155 )

1秒の間に、degreeを0~360へと変化させます。
そのdegreeのcosを取ります。

0度~360度だとcosの範囲は 1 ~ -1になるので、
それを100倍して、100 ~ -100と変化するようにします。

で、最大値で不透過になるように、155を足します。
これにより、255 ~ 55 の範囲で透過度が変化します。

0度と360度はどちらもcosが1になるので、(同じ値が2回続くことになる)
359*t_Rateでも良いかもしれない。)

==================================================================
※CTimeManagerに関してですが、これは1フレーム毎に時間を取得し、
 1フレームの中では、同じ時刻を返してくれる
独自定義クラスです。
(フレームの一番初めに、timeGetTime関数で時間を取得してるだけですけども)

何でそんなクラスを作ったのかというと、
timeGetTime関数を直に呼ぶと、1フレームの中で微妙に時間がずれるのです。

単純に取得した時間をX座標にする、としましょう。
そして、下記の処理を行うとした場合、

■ループ開始
┃モンスターのX座標更新
┃主人公のX座標更新
■ループ終了

↓このように微妙に誤差が出てしまうのです。
モンスターのX座標 … 10050
主人公のX座標 … 10054

なので、下記の様にすれば、
■ループ開始
CTimeManagerにて、時刻を取得する(変数m_NowTimeに代入する)
┃CTimeManagerを用いて、モンスターのX座標更新(m_NowTimeの値を取得)
┃CTimeManagerを用いて、主人公のX座標更新(m_NowTimeの値を取得)
■ループ終了


↓このようになり、行われる処理の時刻ごとに誤差が出るのを防げるのです。
モンスターのX座標 … 10050
主人公のX座標 … 10050
==================================================================

そして、次にローディングのやり方。


~やり方~
------------------------------------------------------------------
【1】ローディング画面に必要な画像だけを読み込む
【2】ローディング画面用のMoverクラス登録

※Moverクラス … 画像を動かしたり、当たり判定等、動作を行わせる独自定義のクラス。
         CMoverManagerがMoverBaseクラスのListを持ち、順次処理を行う。
【3】他の読み込むファイルを指定。Loaderクラスを登録
※Loaderクラス … 任意の速度で読み込み、および画像データの作成などを行うクラス。
         CLoaderManagerクラスがCLoaderBaseクラスのListを持ち、順次処理を行う。
         
         最初1フレームに画像を100枚読み込ませていたのですが、
         普通にローディングのアニメーションが固まったので、
         現在、1フレームに画像は1枚のみ読み込むように指定。

【4】手順2で登録したMoverクラスにて、
   CLoaderManagerクラスのListの要素数が0になったかを確認

【5】0になっていれば、「読み込み中」の画像を透過度255~0に変化させる
【6】ローディング画面のCMoverクラスの削除フラグを立てる。
   その際、次の場面(タイトルロゴ表示)のCMoverクラスをCMoverManagerに登録。
【7】通常通り、ゲームが開始される

------------------------------------------------------------------



あとは問題も引き続き作っています。
最低でも80問は作る予定。現状60問程度作っているのであと少し…!

【参考画像】
Sample_20131022_2.jpg
↑今回作った問題です!
氷ブロックの消し方を間違えると消せなくなる
というコンセプトの問題。


ついでに、消せなくなってしまった際の画像↓

【参考画像】
Sample_20131022_3.jpg


【今日のひとこと】
今日はただの世間話。


最近、街角でどこかの政党の演説があっていました。

何か所々「倍返しにする法律制度が~」「倍返しに~」とか
"倍返し"というワードを意図的に入れてました。

流行りもののワードを入れて、
賛同者を増やそうとしている
のであれば
止めた方が良いんじゃないかなぁと思った。
(演説を聞いてもらう、取っ掛かりにするだけなら良いと思う。)

そういえば、"初音ミク"を政党のイメージキャラクターにしようとした政党もありましたね。
あえて どことは言及しないですが。
何か、支持者の集め方が何かおかしいような気がする。


政治だったら基本、政治が行えるか(外交能力とか、日本の各種問題に詳しかったりとか)
で選んだ方が良いかなーと思います。

有名タレントを広告塔に、とか、
流行りの言葉を使って、支持率上昇、とか、
ガンダムとかに例えて、特定の層に呼びかける(?)とか、
人気キャラクターを政党のイメージキャラクターにする、とか
これらは全部 合理的ではない様な気がする。

政策がどれだけ正しいか、政策を行ったらどう変わるかをPRすれば良いと思うのですが、
難しいのかなぁ。


【余談】
よく選挙カーで「田中、田中、田中太郎です!」というような
ひたすら名前連呼する行為が目につくので、
どうせなら政策を聞かせて欲しいと思った事があるのですが、

どうやら、
車で移動中に説明を行う事は、違法行為らしいですね。
知らんかった。

車で移動中の際は、
名前の連呼しか認められてない
らしい。

そんな法律があるとは。
------------------------------------------------------------------------------
■公職選挙法 第141条の3 
何人も、第141条(自動車、船舶及び拡声機の使用)の規定により
選挙運動のために使用される自動車の上においては、選挙運動をすることができない。

ただし、停止した自動車の上において選挙運動のための演説をすること及び
第140条の2第1項(連呼行為の禁止)ただし書の規定により自動車の上において
選挙運動のための連呼行為をすることは、この限りでない。

------------------------------------------------------------------------------
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント
コメントの投稿
管理者にだけ表示を許可する



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。