たぶん週刊「今週の進捗」

1週間に勉強したことや実装したことをネタに、週に1回(主に土日に)更新していく予定です。「多分」なので、臨時休刊があってもご海容ください。

プロつく計画6:ランニング用走行距離アプリを作る(2週目)

f:id:ZeitungM:20161204231654p:plain

相変わらず歩みは遅いながらも、端末にGPSの権限を与えるところまでやりました。

プロつく計画のナンバリングが怪しくなってまいりましたが、概ね次のようになっている、はず。(太字は完成済)

  1. さめがめ(Siv3D)
  2. Androidアプリ習作
  3. 昔のゲームリメイク(Unity)
  4. 2Dゲーム(Unity)
  5. ユニティちゃんのゲーム(マスコットアプリ文化祭に出展するやつ)
  6. 走行距離アプリ(Android)

◯スコットアプリ文化祭に向けて3

カメラ設定:ユニティちゃんの後ろをついていくようにする

ユニティちゃんと一定の距離を保って、
向きを変えてもその後ろに回り込ませるようにカメラをスクリプトで制御しようとしていた。

常にユニティちゃんの方を向くスクリプトを書いたりいろいろやった…けど、
「もしかしたら、カメラをユニティちゃんの子要素にするだけで
 スクリプトを書くまでもなく追尾するようにできるんじゃ?」
と思ってやってみた。

f:id:ZeitungM:20161120193042p:plain
f:id:ZeitungM:20161120193057p:plain
f:id:ZeitungM:20161120193109p:plain

できたー。…今まで書いていたスクリプトは何だったのか。

ステージ作り

ユニティちゃんでスクリプトを書けなかった分、
ステージ作りでスクリプト書くぜ!
というわけで、現時点で出来てるのがこれ。

f:id:ZeitungM:20161120194434p:plain
f:id:ZeitungM:20161120194440p:plain

さて、どんなゲームになるのやら。

◯スコットアプリ文化祭に向けて2

ようやく自分でコードを書く機会がめぐってきたぜ

f:id:ZeitungM:20161114004201p:plain
f:id:ZeitungM:20161114004242p:plain
f:id:ZeitungM:20161114004303p:plain

カメラをユニティちゃんの目線の高さにまで下げて、

f:id:ZeitungM:20161114004703p:plain
f:id:ZeitungM:20161114004715p:plain
f:id:ZeitungM:20161114004724p:plain

ユニティちゃんのいる方向を向くようにしました。

f:id:ZeitungM:20161114004905p:plain

ついでにWebGLでビルドして動かしてみた。

最終的に何を作るか公表してないから、「◯◯しました」と言っても
どのくらい目標に近づいているかわからないのでは疑惑。

大したことしてないのに、見かけが大きく改善されると
ものすごい進歩に感じるね。

(タイトルはtwitterにつぶやいたときに
文化祭の中の人にふぁぼられてしまったので、
一部伏せ字にしてみました)

Androidのエミュレータにアプリがインストールされない問題

またエミュレータにアプリがインストールされなくなった。

症状

AndroidStudioにて、作成したアプリをエミュレータで実行しようとしても、
エミュレータにアプリがインストールされず、実行できない。

やってみたこと

リンクを参考に、以下を対策としてやってみた。
stackoverflow.com

エミュレータをコンソールから実行する

ここを参考に、エミュレータコマンドプロンプトから実行しようとしてみた。
techacademy.jp

その結果、「そんな名前のデバイスはない」と言われた。

C:\>adb -s emulator-5554 shell
error: device 'emulator-5554' not found

C:\>adb devices
List of devices attached

C:\>

エミュレータAndroid Studioから実行した状態なら adb devices で
接続されているデバイスのリストに上がるようになったんだが、それでいいのか?
結局何も変わりませんでした。

エミュレータを作り直してみた

これでも何も変わりませんでした。

その後

その後Android Studioを閉じてしばらくしてもう一度エミュレータで動かしてみたら、何事もなかったかのようにインストール&実行されました。
あれ?

考察?

よくわからないけど、以上の対策をした後に再起動するのが大事…なのだろうか。
あとは以下のメッセージから察するに、エミュレータの起動に300秒以上かかったら、インストールが中断されるとか。

Launching app
Error while waiting for device: Timed out after 300seconds waiting for emulator to come online

じゃあどうすればエミュレータの起動が早くなるのか?

謝辞

ご本人には全くの無関係なのに、この件でご協力下さるたっとさん(@tatt61880)に感謝致します。

マスコットアプリ文化祭に向けて

f:id:ZeitungM:20161030232341p:plain

ユニティちゃんを矢印キーで動かすところまでできました。
図はポーズを取ったまま微動だにしないユニティちゃんと、
壁に向かって突進し続けるユニティちゃんです。

しかしスクリプトを一切書かずにここまでできるなんて、
わしがプログラミングする機会ないんじゃ?
(「矢印キーで動かすところまでできました」っていうか、
「矢印キーで動かせるユニティちゃんをシーンに配置しました」が正確なところだし)

メモ

Unityでandroid向けにビルドする

ユニティちゃんをAndroidでも動かしたくなって、Android向けにビルドしてみた。

platformを選択してー、
Player SettingからCompany NameとProduct Nameを入力してー、
出力先をAndroid SDKディレクトリにしてー…とやっていたら以下のエラーメッセージが出た。

 Bundle Identifier has not been set up correctly.
 (以下略)

どうやら、Player SettingからのBundle Identifierは改めて人の手で入力する必要があるらしい。

で、改めてBundle Identifierを入力して、
吐き出された.apkファイルをAndroidに保存して、
インストールしたところ、

今度は、Your hardware does not support this application, sorry!と言われる。

最近OSが6.0に新しくなったとは言え、5.0でも動いてたんだから
動かすことはできるはず、と原因をぐぐっていたら、

Androidi6.0になってからアプリの権限の要求の対応が変更されたらしく、
その辺がうまくいってないらしい。

Unity5.3以降なら、Unity側でも対応してるらしいが、
私が使ってるUnity、5.4.0fなんですけど…