スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【進捗】Unityのカメラを使った動き

プログラムについて書かないのかとツッコミをもらったので、さっそく書きます 笑

昨日、Unityを使ってプレイヤーの数だけキャラクター選択画面を表示する部分を作成しました。
そこで、選択画面の表示に動きがある方が良いと考えたので、実装してみました。

最初にプレイヤーの数を選択して、
selectNum.png
(作っている途中なのでUIはダサいです)

次に進むとプレイヤーの数だけ、キャラクターが出てきます。
selected.png


少しだけ解説

真ん中から広がるようにするために、初期位置をプレイヤーの数で決めます。
Noは自身の番号、Managerはプレイヤーの数を保持しています。
No = int.Parse (this.gameObject.name.Substring (this.gameObject.name.Length - 1));
targetW = 1.0f / Manager.GetPlayerNum ();
targetX = (No - 1.0f) / Manager.GetPlayerNum ();
x = (targetW / 2.0f) * (No * 2.0f - 1.0f);
w = 0.0f;


カメラの動きはiTweenを使って作成しています。
が、これじゃなくて良い感じがありますね...
ソース
#region カメラの動き
Hashtable table = new Hashtable();
table.Add("time", 2.0f);
table.Add("onstart","StartHandler");
table.Add("onupdate","UpdateHandler");
table.Add("oncomplete","CompleteHandler");
iTween.MoveTo(this.gameObject, table);
#endregion

Start、Update、Completeで呼び出すHandlerの中身
protected void StartHandler() {
time = 0;
camera.rect = new Rect (x, 0.0f, w, 1.0f);
Debug.Log ("Start");
}
protected void UpdateHandler() {
time++;
camera.rect = new Rect (Mathf.Lerp(x, targetX, time / 60.0f), 0.0f, Mathf.Lerp(w, targetW, time / 60.0f), 1.0f);
Debug.Log ("Update");
}
protected void CompleteHandler() {
Debug.Log ("Complete");
}

なぜかインデントが変ですね...

なんやかんやでこんな感じ 笑
seleced4.gif

プログラム自体を説明するのは大変なのがわかりますね 笑
ちょくちょく更新して、いきますので、よろしくお願いします。
スポンサーサイト

コメントの投稿

非公開コメント

No title

久しぶりのプログラミング分
プロフィール

farCiel

Author:farCiel
自由気ままに楽しく書いていければ良いですね.

最新記事
最新コメント
月別アーカイブ
カテゴリ
amazon
アクセス数
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
ß
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。