かれこれ作り始めてから2,3週間くらい経つレイアウトエディタ。
実装内容というよりはGUIの機能とかに悩まされます。
そんなこんなでこんな感じになってきました。
[album]646[/album]
一番でかいフォームがゲームビューとなっております。
灰色の領域がゲーム画面。
この灰色のウィンドウの左上が実際のゲーム機での原点(0,0)となります
とうぜんこの領域はAndroid用に480×800とかにもできます。
今回はWindowsゲーム想定なので640×480になっています
[album]647[/album]
ファイルから画像を読み込むとこのように反映される。
レイアウトオブジェクト情報やマネージされているテクスチャ情報などはすべてフォームに反映されます。
フォームからダイレクトにパラメータを打ち込むことでオブジェクト情報を変更することも可能ですが、マウス操作で動かしてもOK
[album]648[/album]
こんな感じで作ったレイアウト情報をデータに吐き出して
実際に動かしたいゲームで読み込めばソース内で座標情報を打ち込む必要はなくなります。
[album]649[/album]
レイアウトには階層構造が存在していて背景を親レイアウトとしてその上にオブジェクトを配置すれば親に連動して動きます。
子は親に連動して動きますが子は独立して動くこともできます。
[album]650[/album]
スケール値や回転値を入力すればこのとおり回転します。
現在のところフォームに直うちですが、いずれは右クリックなどで再現してみてもいいかもしれない。
右側にAnimationMakerというウィンドウがありますがこれはまだ実装中。
アニメーションロジックは完成しましたが、FLASHのようにあるフレームからあるフレームにかけてのモーショントゥイーンや
フレームごとにテクスチャ番号を変えるフレームアニメーションなどを実現したいです。
とりあえずは
・X
・Y
・Rotation
・Scale
・Alpha
・Color
を切り分けてこれらを適当なタイミングでアニメーションさせる仕組みを作ります。
これらのアニメは全パラメータ独立していてかつ、補間値をとってフレームごとに情報を変化させます。
現在のところLiner、Sin、Sqr、Sqrtの4タイプのモーションが可能ですが
画像変形とかはできません。
なぜならやり方がわからないからです。
FLASHとかの●が■に変化したりするのはスゲェ!
と感じますが、ゲームであんなの実装しろって言われたら泣きそうな思いをしそうですね。。。
今日のところはこんな感じ
明日も引き続きモーション周りを作っていこう
ではでは!
レイアウトエディタ開発日記パート2
コメントはまだありません。