West Hill 開発メモ

タグ:Tips

Unity2DのSpriteを簡単にフェードイン・フェードアウトアニメーションさせるスクリプトです。

TweenAlphaSprite.cs
https://gist.github.com/WestHillApps/8160345

上記スクリプトをインポート後、フェードさせたいGameObjectにスクリプトをD&Dまたは、[AddComponent]→[WestHill]→[Tween]→[AlphaSprite]で貼っつけてInspectorから設定します。
unity2d_tween_alpha_01
FromAlpha :
 開始時の透明度
ToAlpha :
 終了時の透明度
Duration :
 アニメーション時間(秒)
Start Delay :
 アニメーション開始までのディレイ
Play Style :
 Once(1回のみ)
 Loop(繰り返し)
 PingPong(再生・逆再生を繰り返し)
Event Receiver :
 Play StyleがOnceの時にアニメーション終了後に通知を受け取りたいGameObject
Call When Finished :
 Event Receiverに設定したGameObjectで通知を受け取りたいメソッド名
Play On Awake :
 起動と同時に再生するフラグ

スクリプトから実行する場合はこんな感じで
public void StartAnim()
{
    TweenAlphaSprite tweenAlpha = GetComponent<TweenAlphaSprite>();
    tweenAlpha._FromAlpha = 0f;
    tweenAlpha._ToAlpha = 1f;
    tweenAlpha._Duration = 1f;
    tweenAlpha.Play ();
}

このエントリーをはてなブックマークに追加 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

このページのトップヘ