Pages

2013年6月13日木曜日

ロックオン処理・修正

ゼルク・ハーデスだ。


前回の記事、ロックオンの処理の最後
切り替えが2体までしか切り替えれなかったので改良してみた。

void SetTarget(){
LinkedListNode<GameObject> node = targetList.First;
if(node == null) target = null;
else{
if(isLockOn){
if(Input.GetButton("切り替えボタン") == 1.0f){
if(timer > waitTime){
if(targetList.Find(target).Next != null){target = targetList.Find(target).Next.Value;print (target.name);}
else target = targetList.First.Value;
timer = 0.0f;
}
}
}else target = targetList.First.Value;
}
timer += Time.deltaTime;
}

まあ1行目から説明しよう。
まずはLinkedListの最初の要素をnodeにぶち込む。
もし、nodeがnull(最初の配列に何もはいってない)だったらtargetにはnullを入れておく。
else文、もしnodeの中にはいってて、かつロックオン中だったら
ボタンが押される→LinkedListの中のtargetを探す。その次の要素がnullじゃなかったらtargetを次に移す(わかりやすいようプリントしてある)
もし、次の要素がnullだったら最初の要素をtargetにいれる。
時間をリセットする。
ロックオン中でなければ最初の要素をtargetに入れる。
タイマー更新

こんなかんじか。

説明は難しいな。

まぁこれで順番にターゲットを切り替えることができたので現在どのターゲットをロックオンしているか、などのUIも作って行かなければならない。

そしてタイトルだな。

アメトーークが始まるまでがんばろう。


眠たくなってきたぞ・・・




アリーヴェデルチ。

0 コメント:

コメントを投稿