unity3D 初學者的個人總結
個人經驗總結(預防bug)
1.unity裡面匯入包時注意路徑不要出現中文符號,否則出現
Error while importing package: Couldn't decompress package
2.NGUI中的Alignment引數
屬性Justified(兩端對齊的)在描述中文字時是不起效果的
3. NGUI中的UIPanel的soft clip問題
UIPanel屬性Material下選擇的material沒有設定成為(unlit/Transparent Colored)型別導致的
4.Unity3D外掛之NGUI-確保滑鼠點選UI時不響應其他事件
需要判斷當前滑鼠是否在UI控制元件上面,步驟:
1、給ui控制元件都加上Box Collider,注意的是,把Lable 的UILable指令碼中的 Collider auto-adjust to match(對撞機自動調整以匹配)勾選,這樣就不用去配置BoxCollider的大小了,而且涉及到空間大小自適應的情況也不會有問題
2、相關程式碼加上如下判斷則不會和UI控制元件滑鼠事件衝突了if (UICamera.Raycast(Input.mousePosition)) { return;}
5.unity下拉列表Popuplist
顯示動畫Animated(√)
Default下拉列表第一個屬性值需要新增一個label
設定On Value Change選項
Notify=(label)
Method=(UILabel/SetCurrentSelection)
設定中文預設字時,需要在Font選項下
選擇Dynamic
1.設定動態字型
2.支援中文字型
注意child—>label裡面選擇Dynamic字型
6.unity單選框checkbox
顯示漸變效果Transition=(smooth) 無效果(Instant)
設定一個框sprite(checkbox),框裡面child一個sprite(gou)
父類checkbox設定UIToggle(開關) Sprite=(gou)
預設選擇打勾則選擇Starting State(√)
7.監聽器--下拉列表
如圖,Options中選項名後面存在空格,則會出現監聽不到情況,需要在UIPopupList.current.value後面新增Trim()的方法清空選項裡的空格,保證監聽成功
public enum GameGrade{
EASY,
NORMAL,
DIFFICULTY
}
public class GameSetting : MonoBehaviour {
public GameGrade grade = GameGrade.NORMAL;
public void OnGameGradeChanged(){
print("OnGameGrade" + UIPopupList.current.value);
switch(UIPopupList.current.value.Trim()){
case "簡單":
grade = GameGrade.EASY;
break;
case "一般":
grade = GameGrade.NORMAL;
break;
case "困難":
grade = GameGrade.DIFFICULTY;
break;
} }
}
8.NGUI-使用UILabel呈現圖片和不同格式的文字
[b]Bold[/b] 粗體[i]italic[/i] 斜體[u]underline[/u] 下劃線[s]strikethrough[/s] 刪除線[sub]sub[/sub] 下標[sup]sup[/sup] 上標[00ff00]設定顏色[-] 設定顯示顏色
[url=http://www.cnblogs.com/mrzivchu/][u]部落格[/u][/url] 連結
特殊字型使用必須BBCode標記
9.文字設定文字初始位置
一.Alignment屬性設定
二.Pivot 軸設定
9.限制文字輸入指令碼
private UIInput input;
void Awake(){
input = this.GetComponent<UIInput>();
}
public void OnAgeValueChange(){
string value = input.value;
int valueInt = int.Parse(value);
if(valueInt < 18){
input.value = "18";
}
if(valueInt > 120){
input.value = "120";
}
}
例如以上所述:
1.Age_sprtie應該放在On Submit 設定下面用於提交檢測並且設定On Return Key 屬性=Submit 在啟動game按下回車鍵
2.而放在On Change 設定下面則會出現剛輸入就會被檢測。