整理一下今天学习到的值的记录的东西
1.GUI字体设置
嗯,这里面要写些什么呢?从Unity3d里只包含一个默认字体文件来说吧!Arial字体,对于中文的支持糟糕透了。所以,我们要自己指定GUI的Skin。这样整下GUI可以使用统一风格的GUI。
首先导入要使用的字体,然后创建自已的GUI Skin文件mySkin。选中mySkin在左面列表中Inspector面板中的Font设置目标字体,如果在选择中没有目标字体,可以直接拖拽字体文件到该位置,下面如Box,Button等为单独设置每个GUI控件的样式。
然后是在脚本中指定GUI的skin。可以用如下脚本:
var mySkin:GUISkin;//声明皮肤变量,这样可以在运行界面中赋值
关于如何在程序中对皮肤变量如何赋值,我不会,如有会的,请指教。
function OnGUI()
{
GUI.skin=mySkin;//指 定当前GUI的皮肤。下面就可创建按钮可Lable了。
}
这是统一设置的方式,那么,如何单独指定button或lable的字体或大小呢?这就用到了GUIStyle参数:
var GUI_style:GUIStyle=new GUIStyle();
GUI_style.fontSize=24;
GUI_style.normal.background = null; //这是设置背景填充的
GUI_style.normal.textColor=new Color(1,0,0); //设置字体颜色的
GUI_style.alignment=TextAnchor.MiddleCenter;
//GUI_style.border=2;
GUI.Label(Rect(150,50,Screen.width-300,50),title,GUI_style);
GUIStyle参数有很多的内容,可以多看看啊。
2.关于对象的半透明设置
本平是想让对象变成框线图的,但是没有找到,如果各位有相关的内容请指教。
下面是对半透明设置,只找到了这么一个方法,如果还有,请指教。
导入一张素材图片,然后拖拽到目标对象,对象会添加一个以素材名称命名的组件,Shader属性中选则Transparent/Diffuse,这样在下面的Color中就会有R,G,B,A四项,其中A就是对透明度的调整。在程序中我们可以通过gameObject.renderer.material.color.a对物体的透明度进行设置,值是0-1。
gameObject.renderer.material.color.a=0.2;//将透明度设置为0.2;
3.对于子对象的遍历
for(var child:Transform in transform)
{
Debug.Log(child.gameObject.name);
child.gameObject.renderer.material.color.a=0.2;
}
要提一句的是,Javascript中不支持foreach,但是其用法是一样的。
4.关于对象有Animation
设置Animation的Play Automatically为false,则在第一运行时不执行动画。