スマホアプリ作成日記【S-01(2)】

Pocket

make_team画像はつくろうとしてるののイメージです。

前回と同じで、本当に独り言ベースで綴っているので有用なことはかいてません(´・ω・`)

それになかなか進まない(´・ω・`)

作業のループ機能

作業をループしたり、セーブできたりする機能が実装できた。
こんな感じ。

上の動画ではないけど状態をそのままセーブし、再びロードしたら途中の作業から行えるまでにはできました。
ということで、次は一人の作業じゃなく複数の人の作業を行えるように拡張することに。

その前にーー色々なエラーの対処

既存のアプリやAndroid版でいくつかエラーがでてたので、それの修正。

メルセンヌ・ツイスタ法

いままで乱数はメルセンヌ・ツイスタ法で生成してるんだけど、既存のソースが64bitCPUに対応してなかった(´・ω・`)
(型のバイト数が違うのが原因)

ということで、それにも対応するようにちょろっと修正。

Android版のビルドでエラー

今作ってるのは基本XCode+iOS版で開発していて、週に1回Eclipse+Android版をビルドしてみてるんだけど、その際にエラーがずらずらとでてきた(´・ω・`)

ちなみにこんなエラー。

〜〜 'for_each' is not a member of 'std'

std::for_eachなんてないよって言ってるっぽい。
<algolithm>がインクルードされてないのかなと思っていれてみたら、次はこんなエラーがずらずらと。

〜〜/gnu-libstdc++/4.8/include/cstdlib:122:11: error: '::abs' has not been declared
   using ::abs;
           ^
〜〜/gnu-libstdc++/4.8/include/cstdlib:123:11: error: '::atexit' has not been declared
   using ::atexit;
           ^
〜〜/gnu-libstdc++/4.8/include/cstdlib:129:11: error: '::atof' has not been declared
   using ::atof;
           ^
〜〜/gnu-libstdc++/4.8/include/cstdlib:130:11: error: '::atoi' has not been declared
   using ::atoi;
           ^

え〜・・・(´・ω・`)
どうも、相互参照状態になっちゃうとそういうエラーになるっぽい。

結局解決方法がよくわからなかったので、最初のエラーがでる状態をなくした後std::for_eachを使わない方法に実装しなおしたら通る。
すごく納得いかないけど、とりあえずこれで逃げる(´・ω・`)

CocoStudioでレイアウトの作成

そろそろ次のをつくろうということで、CocoStudioで次のシーンのレイアウトを作成。
CocoStuidoでレイアウトを作成するとかなりはかどる。
下みたいなちょっとしたパーツもCocoStudioで作成し、コーディングでそれらを組み立てることで複雑なものも結構さらっと作成できちゃう。

参考:http://qiita.com/kyokomi/items/46ee2f7c92cf1d3342b8

scr_cocostudioCocoStudioでのマルチレゾリューション(多解像度)対応

前までCocoStudioで作ったものの多解像度対応の仕方がよくわからなくて実装面でどうにかしようとしてたんだけど、普通にあったので一応メモとして。

多解像度対応にはここをいじればいいみたい。

team_4押しピンマーク:有効にすると配置する位置を画面の大きさに応じて計算してくれる
矢印マーク:有効にすると横幅(縦幅)を画面の大きさに応じて計算してくれる

たとえば以下の設定で横幅を一定にできる(※注意:実はこれだとできない)

team_5これだと左上ベースで配置位置を計算してくれる。

team_3これだと右上ベース。

team_1すると、たとえば画面の向きが縦横関係なくこんな風に表示されるようになる。
そして他の解像度にも対応される。

team_landscapeteam_portrateちなみに、作成したものは「プレビュー」を押すか、「csbファイル」を「Preview」アプリから起動するとみれます。

※補足:ピンと幅の指定方法について

team_4この画像みたいに、両方のピンを指定しつつ幅も指定しちゃうと、他解像度になった際に一部うまく表示されなくなるっぽい。

ということで、指定する場合はどちらかにしたほうがよさげかも。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です