Orientation(縦か横かみたいなの。Identification(自分のアプリのID。完全修飾名みたいなの。国名.作者名.ソフト名みたいな感じ)(jp.Sakana.Freimuにした。これがPlayストアのURLのパラメータに入る。Code(バージョンコード。Playストアに公開後APKを修正するときはココを変える)(バージョンは変えないでも、ここさえ変えれば直せる。Settingsアプリ登録するには署名しないとダメなんだけど、ここで設定する。Keystoreを作って、それからKeyを作る。Keyを選ぶとダイアログが出るので適当に入れる。名前とか都市とか空欄でも一箇所だけあればOKらしい)・Password(さっきのダイアログで決めたパスワードを入れる)以上でBuildしてエラーとか出なかったらOKのはず。RunだとUSBでAndroid接続しておかないとダメだと思う。Androidで追加したことadmobに登録して広告表示するようにした。一行で追加できるプラグインをGithubで公開されている方がいたので、それをそのまんまお借りして使った。tasogare66/unity-adbanner-exampleあと、ホームキー、戻るキーとか押したときにアプリ終了するようにした。ネット上で最初に見つけたのはKeyCode.Escape使えって記事なんだけど上手く動かなくて、HomeとかMenuも関係あるとか読んでとにかく全部突っ込んだ。本来はアプリを終了するか否かはOS側に任せて、メモリが足りなければバックグラウンドで落とされるとかそういうデザインなんじゃないかなぁと思うのだけど、これないと検証機に使ってるGalaxySではホームに戻るとそのままフリーズして死ぬことがある。メモリ不足とかなんじゃないかと思う。ちなみにこれはこのゲーム固有の問題じゃ無くて、他にもUnityから出力した場合は全く同じ症状になるので、Unityのエンジンがメモリ食い過ぎなんじゃないかと思う。項目は適当に上から埋めていけばいい。スクリーンショット2枚以上と512x512のアイコンが必要になる。Unityのアイコンは144x144サイズからだけど、512x512以上で描いておいたほうが良い。スクリーンショットは音量下げ+電源の長押しとか、バック+ホームとかバージョンとか機械ごとにいろいろあるっぽい。どっかのバージョンから前者で統一されてるとかなんとか。いうのでスクリーンショットを撮ってDropbox経由でPCに取り込んでアップロードした。登録してから数時間程度で検索にひっかかるようになった。前述の通り、一度アプリを公開停止にして再度登録したが、そのときも公開停止にしてもしばらくはダウンロード可能なままになっていた。今年はアプリで一日500万円稼ぐことを目標にします。Birdのクローンを作った。Birdクローンは以下の記事からあるリンクなんかでプレイできる。JapanUnityでの制作にもやや慣れ始めたので、絵に二時間、ゲーム部分に三、四時間くらいで完成した。したコードだけでゲームができあがっていくのは本当に楽しい。絵なんかも自分が描いたへちょいコマアニメが動いたりするのはちょっと感動する。画像はサイズと表示の関係が今ひとつよく分からないので、とりあえずデカめに描いて圧縮して使った。この辺、きっちりやるために寸法と解像度の関係を理解すべきかもしれない。オブジェクト間のメッセージの送受信にはNotificationCenterというサンプルがあったので、それを利用した。SendMessageだと送信相手を特定しなければならないけど、NotificationCenterだと特に考えずにアタリ判定があれば発行、動作が終わったら発行とか適当に作っておいて、あとから必要なように購読側を作れば良いので楽だった。Wikiもっともプログラムがどうにもとっちらかるなという感じがすっきり解消されるってわけでもないので、どうにかすっきり作れる方法みたいなものが見つかると良いなと思う。Storeに出してみようかなと思ったのだけど、どうもFlappy云々というタイトルがRejectされているみたいでどうやら微妙らしい。Japan名前を変えたらOKなのか、ゲームがクローンなだけでアウトなのか、アウトならアウトで記事が書けるから、やっぱり一応登録してみようかなと思う。Plusのダンボーバージョン買ったモバイルバッテリー買った。パッケージから既にかわいい。2.1Aのも充電できる。質感はざらざらしてて良い感じ。*スマホとかiPodとかたまに充電を忘れて不便なので買ったんだけど、そもそもモバイルバッテリーの充電を忘れそうな気もする。どっちも忘れるよりは可能性は減るんだろうけど、昨今じゃ充電しなきゃいけないものが多すぎて面倒くさい感じもある。RouterはAngularJSのルーティングモジュール。階層化されたviewを利用することなどができる。最終的なプロジェクトの目標はngRouteに取って代わって標準搭載されることだそうで、AngularJS本体も興味を示しているらしい(GitHubのwikiに書いてある)。触ってみて、実際の使い方に触れた解説記事は少ないようなのでざっくり使い方を書く。https://github.com/angular-ui/ui-router/wikiちなみに上記の公式のwikiを読めば分かることしか書いてない。あとQiitaに抜粋版を書いたので、細かい説明が要らない人はたぶんそっちのがわかりやすい。Qiitaサンプル以下でやっていることをだいたい盛り込んだサンプルがこれ。右側のメニューのCodeを押せば各ファイルが、Editを押せばPlunkerで編集できる。Plunkerでいろいろコードを変えてみたりして試してみるとわかりやすいかもしれない(知ってると思うけど、Plunkerで編集したりしても別にこっちのサンプルが壊れたりしないので安心していい)いちいち対応させて説明することはしない。つかいかたモジュールなので、ダウンロードしたら普通のモジュールと同じように読み込む。Ver1.2から標準のルーティング機能もモジュール化されてる。そっからの移行だと、ngRouteを読み込む部分をui.routerに書き換えればいい。ui-viewのような感じで置き換える。メソッド名は同じにしてあるところもあり、使いまわせるところもある。$routeParamsなんかは、$stateParamsに置き換えるだけで使える。ちなみに$locationProvider(html5Mode設定するやつ)はngRouteと関係ないのでそのまま。$stateProvider$stateProviderのstateメソッドでルーティングの設定をする。ngRouteでの$routeProvider.whenを$stateProvider.stateに置き換える。設定はぱっと見似たようなもんだけど、考え方はちょっと違う。ngRouteはシンプルで、特定のURLに来たらアプリ全体で唯一のng-viewに対して、指定のテンプレートとコントローラを埋め込むというだけのものだ。設定するのはURLとテンプレートおよびコントローラーの対応関係になる。それに対してui-routerはstate(状態)を設定する。stateがまず先にあり、そのstateに対応するURLを設定し、また、そのstateのとき、どのview(複数もあり得る)にテンプレートとコントローラーを当てるかという設定をする。stateは階層を持ち、ドットで区切って指定をする。itemsというstateを設定して、items.detailというstateを設定すると、items.detailはitemsの子として作成される。子として作成されると、viewで設定するテンプレートを表示する位置が親の内側になったり、URLが親のURLに続く感じになる。これは何も指定しなければそうなるというだけで、設定次第で変更できる(後述)。ngRouteはURLを基準にして動作するが、ui-routerはstateが基準になる。設定も以下のような感じになる。$stateProvider(state名,{設定})たとえば/emp/12345みたいなURLがあり、empだけなら社員一覧、12345が渡されたら詳細というような設計なら、以下のようなコードになる。});という感じになる。上でも書いてるがemp.detailはempの子なので、:empIDというUrlは、empのUrl(/emp)に続く。/emp/:empIDとなるので、ngRouteと同じURLになる。ngRouteの場合、すべてのテンプレートは常に単一のng-viewに表示されるが、ui-routerの場合この設定だとemp.htmlはlist.htmlの中のui-viewに表示される。一覧のリストのページの一部に詳細が表示されるような感じになる。先に書いたとおり、ngRouteと同じように単一のviewに表示することもできる。そのためには表示先のviewを指定すれば良い。そのためにはviewの名前の指定と、参照先のviewを絶対指定することが必要になるので、順に説明する。viewの名前付け表示先のviewは名前をつけることができ、これにより一度に複数指定したりできる。}}のように設定する。viewsは保持するプロパティ名がviewの名前に対応する。ちなみに最初のコードでは名前を指定していないが、それは以下の設定と同じだ。}}これでも問題なく動作する。ちなみにAngularJSの話からはやや脱線するがJavaScriptでプロパティ名に上記のような空文字やハイフン、アットマークなんかを使ったりするときは二重引用符(")で囲まないとエラーになる。何でそんなことを書くかと言うと、viewsのプロパティでアットマークを使えば、表示対象のviewの位置を親と関係なく絶対指定することができるためだ。URLの階層は常に対応するわけではない。ファイラーとか常に階層化された画面構造ならともかく、一番上のサンプルと同じように社員の一覧から、社員の詳細を選び、その社員の投稿した画像一覧をほぼ画面全域に展開したい、なんてことがありうる。その場合、URL上は親子関係があっても、画像一覧の画面は親の表示位置を上書きすることになる。(画像一覧ページが階層的に詳細の下に入る必要はないとかいうことはさておく)(さておくけど、うまい設計なら良い感じに階層化できるのかもしれない)ともかく、viewsのプロパティ名は単純に名前だけ指定すると、親の持つビュー名になる。ビュー名@ステート名のように書けば、直接表示対象のビューを指定できる。ちなみにビュー名@で終わる場合は、一番上位の階層のui-viewになる。上位階層のビューが名前無しの場合、ただ"@"で指定することができる。各ステートの名前無しビューは、"@ステート名"という形で指定する。}}このコードだと、empの持つ名前無しのビューに表示される。現在emp.detailが表示されている位置が差し替えられる。設定側で書きたいことはだいたい書けたのであとは適当に列挙。詳しくは公式のWikiを見てね。抽象(abstract)指定で親になるが指定はできないステートとか作れる。urlは{id:[0-9]{5}}みたいに正規表現指定できる。urlは^から始めると絶対指定で最上位から始められる。これ移動時にstate指定するときの^(親のステート)と同文字で意味が違ってわかりにくい気がする。今まで設定したルートを利用する場合、つまりアンカータグ(a)なんか移動するときは、ui-srefディレクティブを使う。#/hogeみたいにhrefとかng-hrefに書いても正しく動作するんだけど、それだとhtml5Modeを切り替えたりURLの構造を変えた時に全部書きなおすことになる。ui-srefはステートとパラメータを渡しておけば、あとのURL構造の変更とかhtml5Modeへの対応なんかは勝手にやってくれる。ui-sref=".hoge({id:empID})"...>これも相対パスと絶対パスがあって、この例だと現在のstate直下のhogeというstateに移動する。ドットが頭に付くと相対パスで、ドットが無ければ絶対パスで、^から始まると親のステートとか、そんな感じ。詳しくはWikiを参照のこと。引数で渡すオブジェクトのプロパティ名は当然設定したときにurlが受け取るパラメータ名と一致していないとならない。ui-sref-activeにそのステートがアクティブなときに付けたいクラスを指定すると、上のサンプルみたいにbootstrapのactiveなんかを簡単に利用できるので何かと楽。ng-classと違って、普通のclass指定とも共存するので便利。ちなみにコード上から移動するときは$state.go()を利用する。8,677Amazon.co.jpで詳細を見るAmazonでアルミの弁当箱を見ていて、なかなか可愛いもんだなと思った。私が子供のころうちにあったアルミの弁当箱って四角くて何かしらのキャラクターが描いてあったような気がする。私は次男坊なので、お下がりで塗装がはげていて何が書いてあるかはよく分からなかったけど、自分の知らない何代か前の戦隊だった気がする。幼稚園に入る前、兄が小学校の遠足でお弁当を持っていく日があった。私がねだったか、駄々をこねたかで、母は私にもお弁当を作ってくれた。弁当箱に入っていたのがおにぎりだったか、海苔巻きだったがはっきりしないがとにかく嬉しかった。その頃は公団の団地住まいで、狭い家だったけど、部屋と部屋の間をぐるぐる回り、和室と洋室の敷居に腰掛けてお弁当を開いた。自分も遠足でどこかに行ったような気持ちになったのを覚えている。あたたかい春になったら、お弁当を作ってどこかの公園に子供を連れて行くのも良いな。大きくなっていく子供を見ると、その向こうに幼い自分が立っている気がする。共有2014年2月2日日曜日MyPaintで艦これの島風描いたMyPaintで島風を描いた。MyPaintMyPaintはオープンソースのお絵かきツールで、Linux、Windows、Macで利用できる。上の絵は下絵だけsaiで適当に描いていて、その後MyPaintで描いた。ペインターみたいに色々な種類の筆があって、なかなか書き味も良い。無料で利用出来るソフトなので、細かい設定が何もかも出来るとかいうものではないけど、とにかくストレス無くお絵かきを出来るように調整してある感じ。筆のサイズを変えたり色を拾ったり、クリアしたりみたいなことよく使うキーは全部ワンキーのショートカットにしてあったり、画面を開いた瞬間にサイズ指定の無いキャンバスがどーんと広がっていたり(描いた部分のサイズになる)、お絵かきツールを使っていて自分が面倒くさいなあと思うことが良い感じに省いてある。ツールを開いて、あとは筆を選んで描くことだけ出来れば良いのにと思う人にお勧めのソフトだと思う。逆にレイヤーとかチャンネルとかエフェクトなんかを多用して使いこなすような人には向かないかも知れない。PLUGSという耳栓を海外から買った。