2013年12月25日水曜日

スプライトの行動範囲指定方法 [Unity C# Orthello]

スプライトの行動範囲指定方法

① 動的対象のスプライトを作成
  1.ここでは「MoveMan」で作成
  

②行動範囲用のスプライトを作成
  1.ここでは「AreaSpace」で作成

③行動範囲制御
  1.新規でC#ファイルを作成。ここでは「MoveManL」
  2.下記の通り修正する

public class MoveManL : MonoBehaviour {
OTObject otObject = null;
// Use this for initialization
void Start () {
otObject = GetComponent<OTObject>();
otObject.BoundBy(GameObject.Find("AreaSpace").GetComponent<OTObject>());
OT.Persist(otObject);
}
void OnLevelWasLoaded (int level) {
otObject.BoundBy(GameObject.Find("AreaSpace").GetComponent<OTObject>());
}
}


④C#「MoveManL」を①で作成した「MoveMan」にドラッグ&ドロップ

⑤スプライト「MoveMan」のInspector「Draggable」「RegisterInput」のチェックを入れる
「Draggable」→ドラッグ可不可
「RegisterInput」→押下可不可

※スプライト「MoveMan」がスプライト「AreaSpace」で隠れている場合は、スプライト「MoveMan」の「Depth」を調整。







2013年12月18日水曜日

クリックorタップ処理 [Unity Android C#]

1.OnMouseDown()イベント


2.Update()内に記述

if (Input.GetMouseButtonUp(0)) {
   //左クリックの場合orタップ時の処理

} else if (Input.GetMouseButtonUp(1)) {
   //右クリックの場合orダブルタップ?時の処理

} else if (Input.GetMouseButtonUp(2)) {
   //中クリックの場合or???の処理

}



2013年12月13日金曜日

実機orローカル実行時の区別 [Unity C# Android]

実機またはUnity上で実行する場合に処理を分けたい場合は下記を実装する


#if UNITY_EDITOR
//Unityで実行する場合の処理を記述
#else
//実機で実行する場合の処理を記述
#endif






2013年11月14日木曜日

Unityでビットマップフォントを使用する [Unity Orthello C#]

Orthelloのインポートとビットマップフォントの作成は終了している状態で進めます

※Orthelloのインポートはこちらから
※ビットマップフォントの作成はこちらから

1.Projectの「Assets」「Orthello」「Objects」「Sprites」「SpriteAtlas」「SpriteAtlas-Cocos2D-fnt」を「Hierarchy」にドラッグ&ドロップします


この部分が追加されます
「StatusFnt」に変更





















2. 「Assets」-「Orthello」-「Objects」-「Sprites」-「TextSprite」を「Hierarchy」にドラッグ&ドロップ













この部分が追加されます
「StatusSprite」に変更



















3.作成した「xxxx.txt」と「xxxx.png」を適当な場所に移動する
  ここでは「Assets」に「status.txt」と「status.png」を作成

4. 「StatusFnt」-「Inspector」の「Texture」を作成した「xxxx.png」に変更する





















5. 「StatusSprite」-「Inspector」の「Sprite Container」に「StatusFnt」を設定
  ※フォントカラーを変更したい場合は「TinColor」で色を選択























6.ステータス値の出力
  「Status.cs」を作成し、下記プログラムを書き込む

public class status: MonoBehaviour {
  OTTextSprite text;
  // Use this for initialization
  void Start () {
  text = GetComponent<OTTextSprite>();
  }
  int tick = 100;
  // Update is called once per frame
  void Update () {
  if (tick > 0) {
  tick -= 1;
  text.text = (tick) + "/100" ;
  }
  }
}

「Status.cs」を「StatusSprite」にドラッグ&ドロップ
実行すると「100/100」から「0/100」にカウントダウンする



Unityにデータ保存 [Unity C#]

1.保存
  EditorPrefs.SetInt("名前", 数値);

2.取得
  EditorPrefs.GetInt("名前", 0);

3.削除

  指定削除 EditorPrefs.DeleteKey("削除する名前");
  全件削除 EditorPrefs. DeleteAll();



※他にも[Bool][String][Float]があるようです
詳しくはこちらを参照。

2013年10月20日日曜日

OrthelloのSpriteで深度を設定する [Unity Orhtello]

OrthelloのSpriteを複数使用してpng画像の重ね合わせなどを行いたい場合


「Inspector」の「Depth」の値を変更すると深度[Z軸]を変更することが出来る。
※「Transform」の「position」のZ軸は変更できない。値が戻ってしまう



2013年10月16日水曜日

ビットマップフォントの作成

今回はUnityでOrthelloを使用して数値カウンターを作成します

※Orthelloのインポートがまだの方はこちらで確認してください


1.BMfontのダウンロード
 ビットマップフォントの作成ツールは幾つかあるみたいですが無料の「BMfont」を使用します。
 ここから「BMfont」をダウンロードしてください













2.ビットマップフォントの作成
 1) 「Options」-「Font settings」



















 2) 「Font」を指定して「OK」






















3) 「Options」-「Export options」



















4) 「Font descriptor」で「Text」を選択
 「Textures」で「png ~~~」を選択
 ※PaddingやSpacing・WidthやHeightについては必要があれば変更する






















5) 使用する文字の選択
 必要な文字をクリックすると文字色が薄く変わる
 「/0123456789」を選択















6) 「Save bitmap font as ...」を選択
 保存ダイアログが出るので好きな所に保存してください





















7) 6で保存したファイルのファイル名を変更する
 ① 「xxxx.fnt」→「xxxx.txt」
 ② 「xxxx_0.png」→「xxxx.png」
 ③ 「xxxx.txt」を開き、「xxxx_0.png」→「xxxx.png」と変更する



次はUnityに導入です→こちら






2013年10月15日火曜日

GameObjectの表示・非表示 [Unity-C#]

1.表示する場合

gameObject.SetActive(true);



2.非表示にする場合

gameObject.SetActive(false);


※ただし、Update ()は常に実施されるので注意が必要です。





中心点を変更する[Unity-Orthello-Sprite]

HPバーを動的にする場合など、X軸(幅)を変更すると中心点が真ん中にあるの両端が小さくなってしまう。

そこで「Orthello」の「Sprite」を使用して左端を拠点にしてサイズ変更を行う方法がこれ


■「Inspector」の「Pivot」の値を 「Cneter」→「Left」に変更する


OT.Sprite(名称).transform.localScale = new Vector3(x, y, z);
※「名称」と「x,y,z」は変更してください












2013年10月14日月曜日

Orthelloのダウンロードとインポート [Unity AssetStore]

1.「Window」-「Asset Store」を選択

Window





















2.「Asset Store」が表示されるので「Orthello」と入力してEnterを押下する

AssetStore















3.Orthelloがいくつか表示されるので、無料の「Orthello 2D Framework」を選択する

AssetStore















4.私の場合は「Update」となっているが初めての人は「Download」だったかな?
  で、下矢印の部分をクリック

AssetStore















そうすると下記が表示されるので「Download and Import」を選択。
 ※画像は「Update and Import」なってます…
AssetStore





















5.しばらくするとこんな画面が表示されると思います。
 で、「Import」を選択。
 ※インポートするファイルを選択出来ますがここでは全てインストールしています
 ※Read-MeやExamples(サンプル群)がいらなければ省いてください

AssetStore







 










こんなのが出てくるので消えたらインポート終了です
AssetStore






 
もう「Asset Store」は閉じても大丈夫です



7.そうすると「Project」に「Orthello」が作成されています

AssetStore













以上で「Orthello」の導入は完了です。
次回からは実際に使用してみましょう!!







2013年10月13日日曜日

ステータスバー非表示 [Unity Android]

「File」-「BuildSettings」を開き「PlayerSettings」を選択






次に「Inspector」に「PlayerSettings」が表示されるので「Status Bar Hedden」にチェックを入れる























これでステータスバーは表示されなくなる

Inkscapeで高さ・幅などの入力が出来ない

私の場合、最新版をインストールしたところ「短刑ツール」(四角)で高さ・幅などの入力が出来なかったのでこちらから少し古いバージョンのinkscapeをダウンロードしました。[0.48.2]

※0.48.3以降で発生するようです

実機実行時にEclipseでログ出力(DDMS) [Unity-Android]

1.Eclipse・AndroidSDKはインストールされている状態とします

2.PCとAndroid端末をつなぐ

3.「ウィンドウ」-「パースペクティブを開く」-「その他」を選択すると「パースペクティブを開く」ダイアログが表示されるので「DDMS」を選択する























4.ログ出力
①接続しているAndroid端末が表示される
※正しく端末が認識されていればここに表示されるはずです
②ここにAndroidのログが出力されます

















あとは実機でアプリを動かせばログが沢山出力されます。



※PCとスマートフォンを接続した際にスマートフォン側で「充電のみ」「デザリング」「メディア同期」などと出てくると思いますが「メディア同期(MTP)」を選択しないとうまく端末が認識されないみたい。自分の場合…


===================================================================================

横向き画面の設定方法

1.「File」-「BuildSettings」














2.BuildSettingsが表示されるので「PlayerSettings」を選択





















3.「Inspector」に「PlayerSettings」が表示される
















4.「Default Orientation」ドロップダウンから「Landscape Left」or「Landscape Right」を選択
※右向きor左向き















以上で横向き画面になっているはずです、実機で確認してみてください



=====================================================================================

別Sceneの呼び出し方法[Unity C#]

ボタン押下時に遷移するように

void OnMouseDown(){ 
Application.LoadLevel("Scene名");
}

Unityの利用料金[ライセンス]について

個人利用の場合は無償で利用可能のようです。

ただし、利用出来ない機能?なんかもあるみたいですね。


◆起動時のスプラッシュ
 起動時に独自のスプラッシュを入れる場合はPro版の購入が必要みたい。
 無償の場合はUnityロゴが表示される(2秒くらいかな)
 ※出来ればロゴは出ないでほしいがPro版に約30万払うことを考えると…




他にも気付き次第更新します。