West Hill 開発メモ

カテゴリ: Tips

プラグインを使わずにUnity製のiOSやAndroidアプリからLINEへ投稿します。
Application.OpenURLで一旦LINEのWEBページへ飛ばして、
そこからURLスキーム経由でLINEアプリへ遷移します。

参考:LINE設置方法



このエントリーをはてなブックマークに追加 Clip to Evernote

UnityでWWWを使って画像をダウンロードした際に、なんらかの理由で失敗するとWWW.textureの中身が「?」マークのテクスチャに変わってしまいます。

WWWの通信エラーに引っかからない場合もあるので、textureの中身が「?」マークのテクスチャかどうかを判別して、エラー処理を行う必要があります。

UnityWikiに判別するスクリプトがあったので、コレを使います。
TextureBogusExtensions:http://wiki.unity3d.com/index.php?title=TextureBogusExtensions

Textureクラスの拡張メソッドになっているので、上記スクリプトをインポートしたら以下のように簡単にチェックできます。
// ダウンロードしたテクスチャのエラーチェック
if (www.texture.isBogus())
{
    // テクスチャDL失敗!!
}

このエントリーをはてなブックマークに追加 Clip to Evernote

Prefabから動的にGameObjectを生成するにはInstantiateを使用します。
GameObjectはシーンのルートに作られてしまうので、以下のように作成と初期化を同時に行う関数を用意すると便利です。
public static GameObject InstantiateGameObject (GameObject prefab, Transform parent)
{
    // インスタンス生成
    GameObject gameObj = Instantiate (prefab) as GameObject;
    Transform tran = gameObj.transform;
    // 親設定
    if (parent != null) {
        tran.parent = parent;
    }
    // Transform初期化
    tran.localPosition = Vector3.zero;
    tran.localRotation = Quaternion.identity;
    tran.localScale = Vector3.one;
    
    return gameObj;
}

使い方
// 生成するプレファブ参照
[SerializeField]
private GameObject hogePrefab;

void Start ()
{
    GameObject go = InstantiateGameObject (hogePrefab, transform);
}
これで自身の子としてGameObjectが生成されます。

このエントリーをはてなブックマークに追加 Clip to Evernote

Unityで作ったプロジェクトをiOSやAndroid向けにビルドする際に、
アイコンの下に表示されるアプリ名を言語別に変更(ローカライズ)する方法です。

↓のように英語の場合と日本語の場合で分けたいとき 
localize_01
iOSの場合は、Xcodeプロジェクトができた後に、InfoPlist.stringを追加する以下の方法で出来ます。
be-style [Unity] iOSアプリ名のローカライズ
http://blog.be-style.jpn.com/article/57050228.html 

Androidの場合は、Unityプロジェクトビューのルート(フォルダ構成で言うとAssets直下)に、「Plugins/Android/res」フォルダを作って、
その配下に日本語なら「values-ja」 フォルダを作ってstring.xmlファイルを配置します。

string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">日本語アプリ名</string>
</resources>

日本語アプリ名の箇所に好きな名前を入れる事で、端末の言語設定が日本語の場合に表示される名前を変えられます。

ちなみに、ローカライズファイルを用意していない言語の場合は、
Unityの「Edit→ProjectSettings→Player」内の「Product Name」に設定したデフォルト名が表示されます。 
localize_02

このエントリーをはてなブックマークに追加 Clip to Evernote

このページのトップヘ