Cities Box.cpp開発日記 #11

with コメントはまだありません

今まで不定期にCities Boxの近況報告を書いてきましたが、正直毎回記事のタイトルを考えるのは難しいです。

話題に一貫性がなかったり、前回と同じような内容だったりするので。

そこで今後は「Cities Box.cpp開発日記」と称し、連番で番号をふることにしました。

今まで10記事書いていたので、いきなり第11回からスタートです。意外と少ないですね。

 

レイヤに対応

前回の記事で触れたレイヤ構造ですが、とりあえず動く形になりました。

時間帯に合わせて表示するレイヤ画像を切り替えることにより、時間帯や季節に応じた装飾が可能になります。

とりあえず日中、夕方、夜の3タイプに対応させました。

日中

夕方

 

夜間は夜間用のマスク画像をレイヤ画像として表示させています。

夜間マスク画像はHSP版にもあった機能ですが、レイヤという概念がなく、季節に合わせた変化には対応していませんでした。

 

読み込み時間が2倍(Windows版で40秒、Mac版で20秒)くらいに伸び、メモリ使用量も2倍(256MBくらい)に増えてしまいましたので、

今後は軽量化が課題点となりそうです。まあこのままでも使用上は差し支えはないと思いますが。

 

ソースコード共通部分の一元化

これは動作上変化はありませんが、開発する上ではとても重要なことです。

 

OpenSiv3Dという非常に優れたマルチプラットフォームなライブラリを使用しているため、

ほとんどのソースコードはこれまでもWindows版とMac版で共通でした。

しかし、WindowsではVisual Studio、MacではXcodeを使用して開発するため、

Windows版とMac版で別々のプロジェクトファイルとなり、ソースコード(中身は同じにもかかわらず)も別々に置いてありました。

そのため、Mac版の方で変更があるたびに、Windows版の方にもソースコードをいちいちコピーし、

動くように調整して、またMac版を修正して…などと非常に煩わしい作業が必要でした。

 

ソースコードを一つの場所に置いておくことで、Visual StudioもXcodeも全く同一のソースファイルをコンパイルしてくれます。

例えばMac(Xcode)で変更した内容を、Windows版に反映したい場合は、GithubでpullしてVisual Studioでビルドボタンを押すだけです。

これで開発はかなり楽になったと思います。もっと早くやっておくべきだった…

Leave a Reply