[Unity 5.x] 実験をするときの初期設定



 Unity を学習する際に、書籍やネットで得られた情報を”ちょっと試したい”と思うことが多くあります。

 Unity を起動して新規 Scene を作成してできあがる最初の状態のままでも問題はないのですが、癖のように設定をしている項目があるので紹介します。


  1. 背景を単色にする
    1. Unity 3.x を使っていた頃は、この状態が初期値だったと思いますが Unity 5.x を使ってみたら水平線のようなグラデーションがある背景になっていたので慣れている背景にしたいという思いがあり、背景を単色にしています。
    2. Hierarchy で Main Camera を選択
    3. Inspector で Camera > Clear Flags を Solid Color に変更
  2. Aspect を Free Aspect に変更
    1. Free Aspect にしている方が画面サイズを変更したり、自分の都合に合わせた画面の比率にできます。実際の開発でも比率を固定する必要がないような作りにしているので初期設定として Free Aspect にしています
    2. Scene を作ると 4:3 に設定されているので Free Aspect に変更します


Google Blogger で jQuery を使う

参考

BloggerでJQueryを使う方法
http://www.youngflavor.net/2012/04/85/
Color animation - 色や背景色をアニメーションさせられるjQueryプラグイン | CREAMU
http://blog.creamu.com/mt/2012/03/color_animation_-_jquery.html
Color animation jQuery plugin
http://www.bitstorm.org/jquery/color-animation/


目的と背景

jQuery を使用して Color Animation をやってみたい
Blogger を使用しているので、動作確認の方法もついでに知りたい



DEMO
$('#demodiv').animate({color: '#E4D8B8'})
$('#demodiv').animate({backgroundColor: '#400101'})
$('#demodiv').animate({borderBottomColor: '#00346B'})
$('#demodiv').animate({borderColor: 'darkolivegreen'})
$('#demodiv').animate({color: 'rgba(42, 47, 76, 0.1)'})
上記デモは参考とさせていただいたページのコードをコピーさせていただきました。

1)Blogger で jQuery を使えるようにする

Blogger の管理画面、ブログのテンプレートを開き HTML編集を開きます。
</head> の前あたりに jQuery を読み込むコードを追加しました

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript" ></script>
jQuery のバージョンは 1.8.0 を指定していますが、このバージョン以降であれば動作すると思います。 1.7.x では動作しません。

2)color animation plugin を読み込む

新規投稿ページで HTML 編集に変更して<script src="プラグイン"></script> を記述しました。

3)プラグインをページに埋め込む
 2 でプラグインへのリンクを記述しましたが、コードをページに埋め込むように変更しました。別のサーバーにファイルを配置しましたが、数日後に何のファイルか忘れて削除してしまいそうだったので・・・
 外部にファイルを配置しても問題なく動作します。

難しい事は何も無くデモが動いています。



Mac の ターミナルから アプリをアンインストールする adb uninstall

ant uninstall でもいいんだけれど、ant プロジェクトじゃないこともあるのでメモ

adb uninstall パッケージ名

cVolume next をターミナルからアンインストールする場合
パッケージ名は jp.caldroid.cvolume40 なので

adb uninstall jp.caldroid.cvolume40

となる



Heroku で遊ぶ

Heroku で Rails の勉強をしています。

忘れっぽいので備忘録


  • JS ゲームへのリンク集
    • JavaScript でゲームを作る勉強をしてみました。
    • 途中で挫折してますが・・・時間を作って再開したいとは思ってます。
  • HTML5 の勉強で作った買い物帳
    • 最近、業務で開発中のアプリで WebView を使う予定なので勉強中です
    • 画面レイアウトを運用者が簡単に更新できるようにサーバーで管理したいんです
    • HTML をサーバーからアプリにダウンロードしてオフラインでも表示したいんです
    • そんな要求は置いといて、とりあえず WebView でアプリの画面を作るお勉強中



[メモ] バージョン管理

できるだけお金をかけたくない

というよりも

あるものは使う、自分で作るのは無いものだけ


ソースコードのバージョン管理を今までは自宅サーバーで行っていました。
お金をかけたくないのに電気代が高い・・・・というのはどうでもよくて

自宅サーバーは自由になんでもできるから遊ぶためのものにしたい
バージョン管理なんて大切なものは信頼できる所に投げ飛ばしたい


信頼できるかどうかは根拠はありませんが
バージョン管理は Bitbucket で行うことにしました。

・プライベートリポジトリが作成できる
・Git, Mercurial 両方が使える





チームで開発したり、お客様がいるわけではないのでBitbucketはバックアップ用になってます。
誰かがソースを使いたいということであれば、Bitbucket からフォークしてもらえばいいし、修正を取り込む必要があれば pull リクエストをもらえばいいですね。


規模が大きくなると、なんでもいいからコミットというわけにはいかなくなるので中央リポジトリとローカルの間にマージ用のリポジトリを置くことになると思います。

個人のブランチ
個人が開発したものをマージしたものを置くブランチ
テストが完了してリリースできるものを置くブランチ
ー>ここから各個人はプルする
リリースできるようになったら中央の弊社用ブランチにプッシュ
あとはお客様よろしく

なんとなくこんな感じ?

携帯電話、タブレットの判定にピクセルではなくインチを使う

色々な案件に関わっていると、スマートフォンなのかタブレットなのかの判定をするためにピクセルを使用しているソースを見ることが多くあります。

幅、高さのそれぞれのピクセル数がある値を超えたらタブレットと判定する。


これはだめですよね

HTC j butterfly  はタブレットと判定されることが多くあります。




ディスプレイは約5インチ
w x h : 1080px x 1920px

5インチなので画面サイズが大きいということでタブレットという判定でもいいかもしれない・・・と思ったりしますが7インチ以上をタブレットと判定したい。。。




ピクセル数は画面のサイズ(インチ)とは違います。1080px x 1920px は5インチであるとは限りません。

 
i9220++ スマートフォン Android 4.0 3G GPS 5.2 インチ800万画素携帯(ブラック)

5.2インチ 画面解像度:960 x 540 pixels QHD screen


HTC j butterfly よりも画面サイズ(インチ)は大きいけれど、ピクセル数は少なくなってます。


ピクセル数で判定するのではなく、インチで判定したほうが正確ですね。



プログラムで画面サイズ(インチ)を計算してみましょう。

  1. ディスプレイ情報を取得する
  2. ピクセル数(width, height)を取得する
  3. dpi (xdpi, ydpi) を取得する
    1. 1インチあたりのピクセル数(dot per inch なのでドット数?)
  4. インチ(width, height) を計算する
  5. 画面サイズ(インチ)を計算する

こんな流れになります。他に簡単に取得できる方法があれば教えていただけるとうれしいです。

Activity#onCreateに書きました

// ディスプレイ情報を取得する
final DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

// ピクセル数(width, height)を取得する
final int widthPx = metrics.widthPixels;
final int heightPx = metrics.heightPixels;

// dpi (xdpi, ydpi) を取得する
final float xdpi = metrics.xdpi;
final float ydpi = metrics.ydpi;

// インチ(width, height) を計算する
final float widthIn = widthPx / xdpi;
final float heightIn = heightPx / ydpi;

// 画面サイズ(インチ)を計算する
final double in = Math.sqrt(widthIn * widthIn + heightIn * heightIn);

Log.d("inch", String.valueOf(in));

if (6 < in) {
    Log.d("display", "tablet");
} else {
    Log.d("display", "smartphone");
}


01-13 08:48:55.838: D/inch(22942): 4.952029711805207
01-13 08:48:55.838: D/display(22942): smartphone

HTC j butterflya で実行したら 4.952... インチという結果が得られました。約5インチ


画面サイズは対角線の長さのことです。
三角形の斜辺を求めるということで画面サイズを計算しました。

斜辺  = √( 底辺^2 + 高さ^2) で求められます。
ルートの計算は Math#sqrt() を使用しました。






関連記事)
ピクセルからdipに変換する

背景の画像をリピートさせる

View の background に設定する画像をリピートさせたい。

res/drawable にpngなどの画像を配置して、その画像を view の背景に設定すると自動的に拡大、縮小されて表示されます。

9-patch 画像を使って設定するということをよくやりますが、今回は画像を拡大、縮小させずにリピートさせたいと思いました。

res/drawable に画像を配置します。次に filename.xml を作成してリピートの設定をします。

view の背景に設定するのは R.drawable.filename です。

参考)
Y.A.M の 雑記帳 Android 背景画像を repeat させる


[cVolume next] アラーム音量、メディア音量

Android アプリ 音量設定 cVolume next

ハードウェアキーでリンガーモードを変更した時に Android の仕様では着信音量と通知音量、システム音量が変更され、アラーム音量やメディア音量は変更されません。

本アプリはハードウェアキーや他社アプリによってリンガーモードが変更になったときに、アラーム音量、メディア音量も変更する機能を追加しています。


どいう仕組みなのか