Unity で Admob と GooglePlayServices を組み込んだテンプレート作った

成果物
https://github.com/vimtaku/unity-GoogleMixedTemplate

githubのドキュメントにいい加減な英語で雰囲気伝わるように書いたので
このブログでは、軽く紹介だけします。
(手順に従ってアプリ作ってないからまだ荒削りなんでその辺はご了承ください)

このプラグインは free の admob, google play services を組み込むためのサンプルプロジェクトです。
これを使えば個人開発者は効率的に Unity でゲームを開発できるでしょう。

宣伝:これを使う前なんだけど、むしろこれを作るために勉強してリリースしたアプリがあります。
その名も「最速対々和

saisoku とかで検索すると出てくるのでぜひ楽しんでみてください!!!!!!!

iOS
https://itunes.apple.com/jp/app/zui-su-dui-he/id659884763?mt=8

Android
https://play.google.com/store/apps/details?id=com.vimtaku.saisoku


新着アプリレビューがブログにのせられてました!
http://appmaga.net/archives/17191

所感
何度つまづいても、あきらめないことが重要。
Stack over flow と時間がすべてを解決してくれるはず。

以上。

できる! NGUI で tableView を作ろう!

[unity][ngui]できる! NGUI で tableView を作ろう!

成果物
参考できたやつ
https://dl.dropboxusercontent.com/u/45612210/webplayer.html
(ドラッグ範囲がみづらくて恐縮)

背景
NGUIの情報少なすぎワロタwww 状態なのでとりあえず NGUI で table view 作る手順を書いてみた!
実際 webview で適当にtable とってくる方が早い感あるけど、凝ったやつとか考えたら結局NGUIの使い方覚えた方が
いい気がしたから、ここにまとめておく。

手順

1. Table view をおきたいようの UIRoot を作る
2. 1.のUIのPanel にGameObject を作る(TiledSprite っていう名前になってるけどUISpriteのComponent消した)
3. 2 でつくった GameObject にBoxColider(基本は大丈夫だと思うけどsizeは1,1,0に注意)、
4. 2. でつくった GameObject にUIDragCamera Component つける Draggable camera はあとで付ける
5. 2. で作った GameObject のscaleは自分でいい感じに設定する(200,200, 0) とした。その子供にTopLeft, BottomRight というGameObjectをつけて、左上、右下の位置にそれぞれ設置する。
6. TableView の中身 を置く用に UIRoot を作る。 その中の UIPanel の Position を1000,1000,0 とかにする
7. 6. でつくったPanel に Component -> NGUI -> Interaction -> Table でテーブルつける
8. (縦の場合) 7.のUITableは、Columns を 1 にする
9. 6. でつくった UIRoot の中の UIPanel の小要素として、適当にObject を浮かべる(ここでは NGUIシーンサンプル(8)のItemをPrefab化してそのままコピペで増やして使用した)
10. 6. でつくった UIRoot の中の UIPanel の小要素として、ViewCamera を作る(ここでは、NGUIシーンサンプル(8)のViewCamera をPrefab化して使用した)。たぶん重要なのはUIViewPort Component のアタッチ、UIDraggableCamera Component のアタッチ。
11. 10. の UIViewPort のinspector で 6. で作ったCamera を関連づけ、TopLeft, BottomRightを5. の左上、右下のやつに関連づける。
12. 10. の UIDraggableCamera の inspector でScale を x 0, y 1 とする(縦の場合)。RootForBoundsを6.のUIRootを指定。
13. 4. のDraggable camera を10.でつくったカメラと関連づける。

補足
たぶん RepositionNow とか inspector から使用できるので 動的に追加しても呼べば大丈夫だと思われる。
なんかうごかないなーっておもったら 3. の Box collider 忘れかも知れない
7. で作ったUITable のDirection を Up にしておいたほうが良いかもしれない。
本来はプレビュー(2by3の下の画面)で、自分の表示したい方のやつはすでに表示できているはずなんだけど、表示されない場合があるかもしれなくて、もしかしたらそれは camera の depth かもしれない。

所感
それっぽくできるようになったので次はスクリプトを使って動的に追加みたいなやつをやりたい。
なんか間違ってたりするかもしれないからなんかあったら教えてください。

参考画像

unity で C# を書くときに便利かもしれない設定

[unity][vim]unity で C# を書くときに便利かもしれない設定

1. 辞書ファイル突っ込む, gf で開けるようにする
こちらのブログを参考にして入れた。
http://yoppi.hatenablog.com/entry/2012/09/21/132001

あわせて suffixesadd が足りないから gf で開けないっぽいので .vimrc に足す。

augroup Cssuffix
    autocmd!
    autocmd Filetype cs :set suffixesadd+=.cs
    autocmd Filetype cs :set dictionary=~/dict/unity-script-dictionalization/dict
augroup END

2. unity script reference で Javascript がデフォルトで開いてしまう問題
なんかたぶんサーバの js がミスってるっぽくて $.cookie がないみたいなエラーが出ていて
いちいち C# のexample みるのがだるいのですげー適当に user js 書いた。

https://gist.github.com/vimtaku/5603486
https://gist.github.com/vimtaku/5603486/raw/15dc463456b8cba6b1edd199c53ef904a8da825e/unity_reference_switch.user.js

サンプル表示用:
http://docs.unity3d.com/Documentation/ScriptReference/GameObject.GetComponentInChildren.html


以上。

はじめに
今日は cocos2d-x の情報を少しずつ書き記していくことにします。
cocos2d-x でディレクトリ構成をiOS, Android 両方を
一つのソースで良い感じに両方できるように構成します。

android ndk をインストール
http://developer.android.com/tools/sdk/ndk/index.html#Installing


" すごく重い
bunzip2 android-ndk-r8e-darwin-x86_64.tar.bz2
mkdir android-ndk-r8e-darwin-x86_64
mv android-ndk-r8e-darwin-x86_64.tar android-ndk-r8e-darwin-x86_64
cd android-ndk-r8e-darwin-x86_64
" かなり時間がかかる
tar xvf android-ndk-r8e-darwin-x86_64.tar
"なんとなく /us/localに移動した
mv android-ndk-r8e-darwin-x86_64 /usr/local

android sdk をインストール
http://developer.android.com/sdk/index.html

.zshrc にパスを追加


## add ndk root
NDK_ROOT="/usr/local/android-ndk-r8e"
PATH=$PATH:$NDK_ROOT
export NDK_ROOT=$NDK_ROOT

## android sdk root
ANDROID_SDK_ROOT="/usr/local/android-sdk/"
PATH=$PATH:"$ANDROID_SDK_ROOT/tools":"$ANDROID_SDK_ROOT/platform-tools"


cocos2dx のダウンロードとインストール
" cocos2dx の src をダウンロード
http://www.cocos2d-x.org/wiki_extensions/forward_wiki_page/cocos2d-x?menu_id=1

" 僕の場合は cocos2d-2.1rc0-x-2.1.2 にしました。
" 適度な場所に展開.
./create_project.py -project Hoge -package com.hoge.Hoge -language cpp

共通プロジェクトの展開
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/How_to_create_a_multi-platform_project_in_one_command_line
を元にコマンドを実行する


/usr/local/cocos2dx/projects/Hoge/proj.android% android list targets

Available Android targets:

                  • -

id: 1 or "android-17"
Name: Android 4.2.2
Type: Platform
API level: 17
Revision: 2
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
ABIs : armeabi-v7a


/usr/local/cocos2dx/projects/Hoge/proj.android% android update project -p ./ -t 1
Updated project.properties
Updated local.properties
Updated file ./proguard-project.txt


/usr/local/cocos2dx/projects/Hoge/proj.android% android update project -p ../../../cocos2dx/platform/android/java/ -t 1
Updated project.properties
Updated local.properties
Updated file ../../../cocos2dx/platform/android/java/proguard-project.txt


上記はめんどうなので、適当な sh ファイルを作成してちょっとラクに.
vim push_android


#!/bin/sh

cd proj.android
./build_native.sh
android update project -p ./ -t 1
android update project -p ../../../cocos2dx/platform/android/java -t 1
ant debug
cd bin
adb install -r Hoge-debug.apk
cd ../../..

Android の Resource について
ここだけ毛色が違うんだけど Android のパッケージの時に Resources の直下に
データを入れないとダメっぽいかも知れない。

以上。

雑記@unite.vim

unite.vim を久しぶりに アップデートして使ったら
enter を押したらなんか動きが変わっててかっこいい!っておもったら
今までみたいにパスのある程度のところからCでパスを切り取ってうんチャラとか
file_new を一緒にやっている時に file_new できなくなってアレなので
どうしようか迷った結果とりあえずローカルでパッチ当てている状態になっている。
bc78b48bc0e5a97a27d85fdcaaaa477a4b6232a5
のコミットでなんか挙動が変わったらしい。

kind を書けばいけるんじゃねって思って書いたことない kind をちょっと追ってみたけど
なんかあんまり行けそうじゃないしそもそも kind を書く話じゃなさそうな気がしてきたところでやめた。

あと grep がないと死ぬってぐらい grep 使ってたのに
なんか grep が使えなくてしばらくしたらなんか使えるようになったので
目の錯覚かと思ってたらやっぱり目の錯覚じゃなさそうだったので
力不足なので grep できなくなったっぽい差分のところの issues を上げておいた。

issues だけもらうのはアレで本当は pullreq しなきゃなって思ってたんだけど
背景を知っている人にお願いしたほうが色々捗ると思うっていう言い訳の元 issues だけ上げておいた。

Shougo さんいつもありがとうございます。
よろしければ、filter の挙動は前のほうが好きなので、ご検討よろしくお願いします。