アプリニーツ

アプリ開発の備忘録とか制作日記とか。

2015年06月

uGUIのTextを使ったダメージ表示。

// ダメージ表示オブジェクト生成
GameObject damage1TextObject = new GameObject ();

// Textをつける
damage1TextObject.AddComponent<Text> ();

// canvas下に(canvasはフィールド宣言)
damage1TextObject.transform.SetParent (canvasObject.transform, false);

// 初期位置(一定範囲内ランダム)areaTopLeft,areaBottomRightはフィールド宣言
damage1TextObject.transform.position = new Vector3 (
Random.Range (areaTopLeft.position.x, areaBottomRight.position.x),
Random.Range (areaBottomRight.position.y, areaTopLeft.position.y),
areaBottomRight.position.z);

// テキスト編集
Text damage1Text = damage1TextObject.GetComponent<Text> ();
damage1Text.text = "" + player1AttackDamage;
damage1Text.font = font; //fontはフィールドで。
damage1Text.fontSize = 20;
damage1Text.alignment = TextAnchor.MiddleCenter;

// 上に消えていく
iTween.MoveBy (damage1TextObject, iTween.Hash ("y", 1f, "time", 0.5f));
iTween.ValueTo (gameObject, iTween.Hash ("from", 1, "to", 0, "time", 0.5f,
                                        "onupdate", "ValueChange"));

yield return new WaitForSeconds (0.55f);

// 用済み
Destroy (damage1TextObject); 


void ValueChange (float value)
{
damageText.color = new Color (damageText.color.r, damageText.color.g, damageText.color.b, value);
}

とても・・・見難いです・・・ 

<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
 AndroidManifestにこの記述が複数あるのが原因でした...。

ビルド時に UNEXPECTED TOP-LEVEL EXCEPTION が発生する ビルドを実行すると以下のエラーが stderr として出力される

UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoIcsImpl;

android-support-v4.jarが重複しています。1つにしましょう。

1つにしてエラーが出る場合は android-support-v4.jarが古いことが考えられるので、最新にしましょう。



Error building Player: UnityException: Can not sign application
Unable to sign application; please provide passwords!

PublishSettingでKeyStoreにパスワードを入れましょう。


directory not found for option
Build Setting > Search Path > Library Search Pathsのダブルコーテーション("")を消しましょう。 

 

Apple Mach-O Linker Errorを解消

Build Active Architecture OnlyのDebugをNoにする
+実機の接続を外す。


Submit時の64bitエラー
unity側で
  • "Scripting Backend" from Mono(2.x) to IL2CPP

  • "Architecture" to Universal

 

PositionはVecter3を使うように、RotationはQuaternion.Eulerを使うのです。

gameObject.transform.rotation = Quaternion.Euler (0, 180, 0);

分かれば簡単。 

 //Canvasをセット
public GameObject canvasObject;

//GameObjectを生成、生成したオブジェクトを変数に代入
GameObject prefab = (GameObject)Instantiate (GameObject名); 

//Canvasの子要素として登録する 
prefab.transform.SetParent (canvasObject.transform, false);


以上!


 

↑このページのトップヘ