FreelyApps

個人によるアプリ開発の日記です。アプリの収入だけで生活できるようになるのが目標です。UnityでAndroid向けのゲームアプリを作成しています。


    ブログを
    https://freelyapps.net/
    に移転する予定です。
    リンク切れがある記事はこちらに移動した可能性もあります。

    タグ:Tips

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Clip to Evernote
    10/6に「トランプ・17ポーカー」の公開ボタンを押しました。この記事を書いているときにはまだストアには上がっていない状況です。もうしばらくすればストアから配信されるでしょう。

    Android/iOSの同時リリースなのですが、iOSのリリースについて問題が少し起きました。トランプ・17ポーカーの審査は問題なく通ったのでアプリではなくiTunes Connectの問題です。

    手動で配信時期を決めるようにしていたのですが、審査が終わってあとはリリースボタンを押すだけというところでリリースボタンが押せなくなりました
    disable-release-button

    リリースボタンが押せないことをGoogleさんに聞いてもAppleのことだからか知らんぷり。そんなわけで今日は無理なのかもと思いつつ、適当にいじっていたら押せるようになりました。

    【解決方法】

    デベロッパによるリリース待ちという状態は、覚悟ができたらリリースボタンを押してくれという意味です。しかしながら押せないことが起こりました。
    この状態では審査が通った後なので、ストアの情報はほぼ変更できません。変更できないところをいじるとエラーと警告されます。

    以下のバージョンのリリースという項目が変更可能でした。手動か自動でリリースです。手動でリリースが選択されていたのですが、これを自動にして保存すると、”このバージョンをリリース”ボタンが押せるようになりました。自動にしたものを手動に再び戻しても、リリースボタンが押せるようになっていたので、これで問題なくなりました。
    howto-release

    ”このバージョンをリリース”ボタンが押せないときは、バージョンのリリースという項目を変更し、保存するとリリースボタンが押せるようになるのかもしれません。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    最近気付いたことなのでいつからある機能なのかわかりません。少なくとも今使っているUnity5.3.4f1 Personalには以下の機能があります。

    シーンビュー上で3D/2Dに関わらずゲームオブジェクトが重なってしまうことがあります。選択したいものの一部がクリックできれば選択状態にできますが、大きいものが手前に来るなどしているとクリックできず選択できないことがあります。

    シーンビュー上でクリックを繰り返すと、選択されるゲームオブジェクトが切り替わっていきます。クリックしたところにレイキャストして貫通したゲームオブジェクトを順番に選択しているような挙動をします。
    以下はUIでの例です。キャンバスが複数あり、UIは階層構造を持っています。クラブのQを選択したいのですが、上に重なっているUIがあるため直接は選択できません。何回かクリックすることでクラブのQが選択状態に切り替わりました。


    3Dでも同じようなことができます。2つのときはうまくいったのですが、3つ以上のゲームオブジェクトが重なっているときはうまくいくこともあれば、選択できないこともあったのでよくわかりません。
    あと位置移動のためのギズモをクリックしたときは選択切り替えは起こりません。それはゲームオブジェクト平面上で動かすためのショートカットが優先されるからです。


    重なったゲームオブジェクトをシーンビュー上で選択するには、そのゲームオブジェクトがあるところを何回かクリックしてみると良いです。これに慣れるとUnity UIを作るのが楽になります。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unityで新しいC#スクリプトを作成すると以下のような状態になっていると思います。
    これをそのまま使っても、編集しても良いのですが、いつも使う名前空間などはテンプレートに入っていると楽で良いと思っていました。System.Collections.Genericを使うのでSystem.Collectionsは使ったことがないですし、英語のコメントも慣れてくると要らないです。

    あるC#スクリプトをDuplicate(Ctrl+DかEdit->Duplicateでアセットの複製ができます。)してリネームするでも良いのですが、ちょっと手間なのでテンプレートを変更することでより便利になります。
    スクリプトのテンプレートを追加する」 Unityな日々(Unity Geek)より
    でその方法を解説がされているので参考に試してみました。
    スクリプトのテンプレートが保存されているのは、私の場合
    C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplatesでした。Unityのインストール先を見つけてEditor\Data\Resources\ScriptTemplatesと探していけば良いでしょう。
    script-template
    フォルダには以上のようなテンプレートが並んでいます。C#のスクリプトのテンプレートは81-C# newScript-NewBehaviourScript.cs.txtです。これを自分の好きなように編集して上書きしてやると、Unityで作られる新しいスクリプトが変更されます。(Unityが読み込むファイルの変更なので、全プロジェクトに影響します。)

    このファイルを「81-C# newScript-NewBehaviourScript.cs」という名前でスクリプトのテンプレートが保存されているフォルダにコピーすると、Createメニューに項目が以下のように追加されるはずです。(別名にすることで元々のテンプレートを保持したままメニューに新しいものを追加されるようです。古いのが要らなければ上書きでも構いません。テンプレートのファイル名はハイフン区切りで意味を持つようです。)
    myTemplate
    この新たなメニューでスクリプトを追加すると以下のようになります。 
    usingにSystem.Collections.GenericやUnity5になってから追加されているよく使う名前空間を入れています。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unity Analyticsの管理サイトでDATA EXPLORERを選ぶと、カスタムイベントの情報を見ることができます。

    下の図は、ナポレオンを1ゲームするときに呼び出しているカスタムイベントのグラフです。個のイベントを呼んだユーザー数の変化が表されています。(本来は左端にユーザー数が表示されますが、ここでは消してあります。)
    tn-analytics-1page

    これだけだとアプリを起動した人数とほぼ一致するはずです。なぜなら、このアプリを起動して遊ばずに抜けることはほぼないと思われるためです。DAUと比較してどれくらいの人が何もせずにアプリを落とすのかを知りたいときには役立つと思います。

    カスタムイベントが呼ばれた回数を知りたいことがあります。ユーザーごとではなく、各々のユーザーが呼び出したカスタムイベントの総量です。
    これの見方についての説明は載っていないのですが、おそらく以下で説明する方法で見れると思います。(正しいやり方かの保証はないのでご注意ください。)

    Add Custom Eventで見たいイベントを追加するなりして、特定のカスタムイベントを選んだら、対象となるユーザーを選び、View Parametersボタンを押します。
    そうすると2枚目のページにいけます。このページはあるカスタムイベントの詳細を見れる画面です。ここでパラメータの指定をunity.nameにします。どうもこれはカスタムイベント名を表しているようです。countというのは数字型のパラメータを指定したときの呼び出し回数です。つまりこれが発生回数になります。
    (本来は左端に回数が表示されますが、ここでは消してあります。)
    tn-analytics-2page

    何回か検証したところカスタムイベントの発生回数と一致したので、この方法で発生回数を調べられます。
     

      このエントリーをはてなブックマークに追加 Clip to Evernote
    知っている人も多いと思いますが、Android6.0でも隠しゲームがやはりありました。
    ゲームの内容がAndroid5.0と変わらなかったのは残念ですが、相変わらず難しいゲームです。

    遊び方は設定画面の一番下にある端末情報を開きます。
    m6settings

    次にAndroidバージョンと表示されている項目を連打します。それなりに早く連打しないと認識しないようにできています。裏技みたいなものなので、偶発的に起こる可能性を低くしているのでしょう。
    m6terminalinfo

    コマンドが認識されると以下のようにマシュマロっぽいドロイド君が現れます。
    m6fb

    このイラストをタップしたりタッチしたりすると反応します。これをいじるとゲームが始まるようになっています。何故こんな風になっているのかは遊び心の結果だと思います。

    ゲームを始めまでが非常に長いです。
    マシュマロをタップしたり、タッチし続けたりしていると突然ゲームが始まります。何を条件にスタートしているかわかりませんが、いじった回数とかもあるんじゃないかと感じます。 

    Android6.0でのゲーム画面は以下のようになります。マシュマロによってプレイヤーが止められます。
    タッチしている間ドロイド君が浮いていきます。障害物を潜り抜けられそうになるタイミングで放すことでゲームは続きます。何回通り抜けられたかを競うゲームです。
    m6fb3

    このゲームは「Flappy Bird」というゲームを元に作られているらしいです。難しくて本家の方も話題になったようです。
    超難しい設定になっているので10回くらいくぐれたらすごいと思います。

    ちなみにAndroid 4.4とかでも同じ手順で隠し機能があります。 いつからあるんでしょうか?

    このページのトップヘ