header_medi8

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin

2016年3月29日火曜日

Unityロゴ表示後に指定した秒数カスタムロゴを表示して画面遷移する方法

Unity5になってから、無料版でもPro版と同じ機能を使えるということで、非常に嬉しいことですが、無料版とPro版の大きな違いは、起動時にUnityロゴが表示されるかどうかにあると思います。

現在、Unityで製作しているアプリを公開に向けて頑張っているのですが、
無料版だからUnityロゴが出るのは仕方ないとして、Unityロゴの後に自分で用意したロゴを表示してから最初の画面に遷移できないかなぁと考えました。

手順としては以下の通りです。

  1. 独自ロゴ表示用 Scene を作成し、画面全体にロゴ画像が表示されるようにする
  2. アプリ起動時に1.で作成したSceneが表示される様に[Build Settings]を設定する
  3. スクリプトを作成して、一定時間経過後に別のシーンに遷移する様にする


1. 独自ロゴ表示用 Scene を作成し、画面全体にロゴ画像が表示されるようにする


「Title」という名前で、Sceneを作成します(名前はなんでもいいです)。
UI コンポーネントの Image を追加して、用意しておいたロゴをしていします。

詳細は今回の本質ではないので除外します。

2. アプリ起動時に1.で作成したSceneが表示される様に[Build Settings...]を設定する


[File - Build Settings...]メニューを選択し、Scene In Build に以下のようにSceneを追加して、起動時にTitle Scene が表示されるようにします。


2つ目のScene名は現在作成中のアプリに合わせて変更してください。


3. スクリプトを作成して、一定時間経過後に別のシーンに遷移する様にする


スクリプトを作成して、Main Cameraにでも設定しておいてください。
作成できたら、スクリプトに以下のように書いて、2秒間カスタムロゴを表示して、別のシーンに遷移するようにします。

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;

public class TitleSplash : MonoBehaviour {
    float startTime = 0.0f;

    // Use this for initialization
    void Start () {
        startTime = Time.time;
    }
  
    // Update is called once per frame
    void Update () {
        if (Application.isShowingSplashScreen == false) {
            // 広告などの処理.
            float now = Time.time;
            float elapsedTime = now - startTime;
            if (elapsedTime > 2.0f) {
                SceneManager.LoadScene("HogeHoge");
            }
        }
    }
}


これでOK!
と思いきや!ここでハマりました。

実際に起動してみると、明らかにロゴが表示されてから2秒も経っていないのに次のSceneに遷移してしまいました。

これは、Unityロゴが表示されている途中にTitleシーンが読み込まれていて、時間の計測が始まってしまっていることが原因でした。

以下の値をチェックすることで、Unityロゴが表示されているかどうかをチェックすることができます。

Application.isShowingSplashScreen 

なので、少し修正して以下のように書き換えてやると、2秒間カスタムロゴを表示した後に、Build Settings で指定した次のScene に遷移します。

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;

public class TitleSplash : MonoBehaviour {
    bool  isMySplashShowing = false;
    float startTime = 0.0f;

    // Use this for initialization
    void Start () {
    }
   
    // Update is called once per frame
    void Update () {
        if (Application.isShowingSplashScreen == false) {
            if (!isMySplashShowing) {
                startTime = Time.time;
                isMySplashShowing = true;
            } else {
                // 広告などの処理.
                float now = Time.time;
                float elapsedTime = now - startTime;
                if (elapsedTime > 2.0f) {
                    SceneManager.LoadScene("HogeHoge");
                }
            }
        }
    }
}

2016年3月27日日曜日

Unity5.3 で Application.LoadLeve("シーン名") が使えなくなっていた

Sceneの切り替えを行おうと思って、

 Application.LoadLevel("シーン名");

と書いたら警告が出ました。

調べてみたところ、Unity5.3 では使えなくなっているようです。
代わりに、以下のようにするようです。

 SceneManager.LoadScenel("シーン名");

また、SceneManagerを使う場合は以下の記述を追加しておく必要があります。

using UnityEngine.SceneManagement;

2016年3月17日木曜日

[sphinx] "make html" を自動化する方法

sphinx の便利さにハマって以来、ほとんどのドキュメントを sphinx で作っているのですが、1つだけ不便なことがあります。

それは、HTML化するために毎回

 $ make html

を実行しないといけないことです。

これが何気にめんどくさい。

編集して、保存んしたら勝手にHTMLも更新してほしいなぁと思ったので、ちょっと調べてみました。

そしたら、ありました!

それは「sphinx-autobuild」を利用する方法です。


sphinx-autobuild を利用してビルドを自動化する


sphinx-autobuild を利用すれば、rstファイルを変更した時点で自動ビルドが走り、ブラウザに反映されるようになります。



1. sphinx-autobuildをインストールする

 $ pip install sphinx-autobuild

2. Makefile に target を追加する

livehtml:
    sphinx-autobuild -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html

3. SphinxのMakefileがあるディレクトリで以下のコマンドを実行する
$ make livehtml

4. ブラウザで「http://127.0.0.1:8000/」を開く


これで、rstファイルを編集して保存すると、自動的にビルドが実行されhtmlが更新されます。

2016年3月5日土曜日

sphinxの見出しで使用する記号の慣例


少し前から sphinx でドキュメントを書くことがあって、その便利さにすっかりハマってしまっています。

ドキュメント書かないといけないのはわかってるけど、書くの面倒だなぁという方はぜひsphinxでドキュメントを書いてみることをお勧めします。

sphinx では、以下の記号がで見出しに使用できます。

= - ` : . ' " ~ ^ _ * + #

文字の種類と見出しのレベルは関係ないので、どの文字でも使用できます。
使用していない種類のアンダーラインが出てくると、見出しのレベルが一段変わる、というルールになっているのですが、これまでは自分ルールで使用していました。

いろいろ見ていると、Pythonドキュメントで使っている慣例があったので、これからはこれを使用してみようかと思います。
  • #(オーバーライン付き):部
  • *(オーバーライン付き):章
  • =:セクション
  • -:サブセクション
  • ^:サブサブセクション
  • ":パラグラフ

2016年3月4日金曜日

050番号を無料で取得し、しかも月額無料にする方法(Brastel 050Free)

私が公開している、Android用のMIDI再生アプリ『Simple Midi Player』ですが、現在は無料で公開して広告を表示しています。

ですが、ありがたいことにレビューやメールの問い合わせで「お金払ってもいいから広告なしバージョンを出して欲しい」という声をいくつかもらったので、今回有料版を出してみることにしました!

今まで Google Play で有料アプリを公開したことがなかったので、少し調べてみると、Google Play で有料アプリを公開するためには、販売者アカウントを登録する必要がありました。

登録を進めていくと必須入力項目に電話番号があるのですが、私は携帯電話しか持っていないのですが、私のような個人で開発している者にとっては個人の携帯電話の番号を公開するのは気が引けます。

そこで、050で始めるIP電話の番号を取得することにしました!

スマホで利用できるIP電話


最近は格安SIMの普及なども重なり、すでに使用されている方もいるかもしれませんが、せっかくなのでいろいろ調べてみたら結構いろいろあります。


通話料金や音質について調べてみて、今回は『050 Plus』か『050 Free』の2択に絞りました。

050 Plus


050 Plus」は、NTTコミュニケーションズが提供しているサービスです。

  • 月額利用料    :300円
  • 通話料(固定電話):3分 8.86円
  • 通話料(携帯電話):1分 17.28円

割と前からあったサービスで、私も以前使用していたことがありますが、通話の音質もそこそこ良くて、普通に通話できていました。

050 Free


050 Free」は、Brastel が提供するサービスでです。
  • 月額利用料    :無料
  • 通話料(固定電話):3分 8円
  • 通話料(携帯電話):30秒分 5.5円
固定電話向けの電話料金はそれほど変わりませんが、携帯電話向けの料金は1分で11円なので、050 Plus よりも少し安いですね。

そして何と言っても、最大の特徴は次の2つです!

  • 無料で050番号が取得できる
  • 支払いがチャージ式

月額利用料無料で050番号が取得でき、電話を受けるだけなら無料で使えてしまいます。
電話をかける場合は料金がかかりますが、あらかじめチャージしておいた分だけ使用できるので、使い過ぎてしまうこともありません。

今回の用途から考えると050 Freeを使用するのが良さそう。
ということで、ここからはスマホで050 Freeを使用できるようにするまでの手順を説明します。

050 Free を使うまでの手順


1. まずは『050 Free』アプリをダウンロードする

050 Free
050 Free
開発元:System Brastel
無料
posted with アプリーチ
ダウンロードしたものの、このままでは使えません。

そこで。。。

2. Brastel カードをゲットする

Brastelカードはなんと普通にコンビニに置いてあります。
私はサークルKでもらってきましたが、フリーペーパーとかがおいてあるラックに一緒においてありました。

こんな感じの小冊子みたいなのが置いてあるので、頂いていきましょう。
安心してください。無料ですよ。


この冊子にブラステルカードが付いるので、裏面の ACCESS CODE の部分をコインで削ります。


3. パスワードを取得する

もう一度 Brastel の HP に行き、以下の部分い ACCESS CODE に書いてある数字を入力します。
ACCESS CODE上8桁がユーザーIDで、下4桁がPIN番号になります。


「パスワードを取得」ボタンを押すと、以下の画像のようにオレンジの枠内に User IDPassword が表示されています。



4. アプリでログインする

3. で取得した User IDPassword をアプリの起動画面で、それぞれ入力して Sign in ボタンをしてログインするとアプリが起動します。

5. 050番号を取得する

アプリのメニューから設定を開いて、「アカウントの設定」を選択


マイアカウントページに移動する


「050番号を確認/取得する」を選択して番号を取得します。


6. 受信できるか確認してみる

ここまできたら、アプリで電話を受けることが可能になはずです。
取得した番号に電話をかけて確認してみましょう。

まとめ


今回は 050 Free を使用するための手順を書いてみました。
ここで取得した050番号を使用して、販売者登録も完了しました。

それにしても便利な世の中になったなぁ。