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 设置下面则会出现刚输入就会被检测。