Unity 3Dゲーム開発 ~シリアスゲーム~
講義で役に立つインタラクティブなシリアスゲームを作っている。
ほぇ~と思ったことをめっちゃ簡単に書く。
ArrayListは使わない。
Javaのプログラムを組んでいて動的配列を作るときに結構使っていたArrayList。
Unityで使うことはないだろう。
どうやらジェネリックリストというものを使うのが一般的?らしい。
using System.Collections.Generic;を記述して、
List<>みたいにあとはArrayListと同じ感じに使えた。
最も近いオブジェクトの取得
【Unity】指定されたタグの中で最も近いオブジェクトを取得する - B-Teck!
参考にさせていただきました。
private GameObject nearbyObj; nearbyObj = GetNearbyObj(gameObject, "Enemy"); //GetNearbyObjという関数を使って一番近いオブジェクトを持ってくる。 GameObject GetNearbyObj(GameObject nowObj, string tagName){ // .FindGameObjectWithTagで取得。 // 配列全部見て近いやつを入れていくのをforeachで書くやつ。 }
って感じでやった。
Unity4.6のUI
いい感じ。
ボタンクリックしたときの設定
Scriptに
public void ButtonClick(){ }
とか加えて、
ButtonのInspectorビューの下のほうにOn Click()ってのを、
書いたScriptあるオブジェクト?Canvasとか選んで、
ButtonClick選ぶ。
Rect Transform
Inspectorビュー。
UIの大きさ変えるところ。
PosXとかPosYとか書いてるところをドラッグするのでも大きさ変えれてどんくらいがいいかなーってできる。
Pivotは中心点みたいな。
InputField
using UnityEngine.UI; public InputField inputField;
inputField.textで入力した文字取得できる。代入もできる。
Text
Textも同じ感じでtext.textで色々できた。
2DゲームのほうScriptでバリバリ書いてるけど、4.6のUIを使って作り直そうかなという感じ。
GameObject
Unity - Scripting API: GameObject
完全に自分のメモ用に貼付けたかった。
CompareTagでタグが比較できること知らなかった。
ドキュメントちゃんと読むの大事だ。
Rigidbodyの現在の移動速度を求める。
rigidbody.velocity.magnitude
止まったときの判定とか移動速度の上限とかで使うと思う。