スポンサーサイト

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

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

今日の報告!



会話シーンを作成中です!

【参考画像】
Sample_20131030_1.jpg



とりあえず、会話シーンをどうやって作っているのかというと、
全部 キーフレームアニメーションで何とかしてます。

で、キーフレームアニメーションを含め、会話シーンを管理する簡易スクリプト
現状外部csvファイルで定義しています。

現状用意しているコマンドは下記の通り。
これだけあれば(最低限ですが)会話シーンは完成します。
----------------------------
・指定秒数(ミリ秒)待機
・座標X変更
・座標Y変更
・透過度変更
・音再生
・指定キー入力待ち
・描画オブジェクト作成

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

ついでに、現状の実際のスクリプト(csvファイル)がこれです。

【参考画像】
Sample_20131030_2.jpg


形式としては下記の様な感じです。
---------------------------------
命令の数

一度に実行するコマンドの数
   コマンド
一度に実行するコマンドの数
   コマンド
   :

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



例えば、600ミリ秒で
無色透明から不透明に変化 (透過度0⇒255に変化)しながら、
Y座標が800⇒0(画面下から画面上へ移動)する場合、
下記の様に記載します。

ScriptNum:2
1:CommandNum
7:Create 5 //引数略
2:CommandNum
4:Trans 5 0 255 600
3:PosY 5 800 0 600


ScriptNumには、CommandNumの数を記載します。(合計2個)
CommandNumでは、一度に実行する命令の数を記載します。

1つ目は、描画オブジェクト作成の命令だけなので1、
2つ目は、透過度変化と、Y座標変更の命令を実行するので、2になります。

ついでに5というのは、画像の識別番号(描画オブジェクトの添え字)です。

内部的に下記の様なVector配列を持っており、
std::vector< CDrawObject > m_DrawObjectVec;


5とした場合は、下記の様に配列拡張。
透過度変更などの命令は、添え字の番号を指定して実行します。
------------------------------------------------------------
//Create命令をした場合
m_DrawObjectVec.resise( 6 );

//透過度、その他Y座標変更命令を出した場合
t_DrawerManager.SetTrans( m_DrawObject[ 5 ].GetHandle(), 255 );
t_DrawerManager.SetPosY( m_DrawObject[ 5 ].GetHandle(), 800 );

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

現状、こんな感じでcsvに記載をしていますが、
こういう処理はLuaが得意とする(コルーチン、だっけか)と聞いた事があるので、
Luaで実装してみようか、とか思ってます。

ただ、コルーチンだと、
例えばキャラクターAとキャラクターBが居るとして、
「キー入力を受け付けるまでは、
フワフワと上下運動を繰り返す」
という動作が出来ないような気がする。

※現状の仕様では、上下運動をする⇒上下運動終了⇒キー入力を待つ、という挙動になる。
 要は、複数の命令が同時に発生している状況が作れない。

どうしようかなぁ。

命令をstd::listに持たせて、
csvの方は新たに開始条件、終了条件の概念を追加し、
適宜、開始/終了条件を満たした際に、std::listに追加/削除を行うようにしてみようかな?
(1フレームの間に、毎回std::listに登録された命令を全部実行する。)

これで行ける筈…!
=================================


あと、引き続き問題を作ってみました。

【参考画像】

多分、 一番手数が少なくて難しい問題だと思う。
Sample_20131030_3.jpg

「嗚呼」を完成させれば良いのですが、
手順を間違えると全部消えません。
ハマったら解けなくなるかも。難易度的には★★★☆☆です…!

【今日のひとこと】
海外にはパーティークラッシャーというのが居るらしい。
(イギリス)

例えばTwitterやFaceBookで、
「●月●日に誕生日パーティー開きます!」とか言うと、
全然知らない第三者が、突如として
そのパーティー会場に集まり、壁や天井を破壊する。
そして帰る。



文章で見ると意味不明ですね。…うーん。
何で破壊するの?

【参考画像】
Sample_20131030_4.jpg
↑パーティークラッシャーの被害に遭った画像。
パーティーとかいうレベルでは無い。

タチの悪い事に、イギリスでは社会問題化しているとのこと。


とりあえず、FaceBookとかTwitterとかは公開設定に注意した方が良いでしょう。
あと、プロフィールとかには住所などの情報は入れない方が良いかなと。
スポンサーサイト

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

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



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