创建UI控件会自动创建canvas画布
Text
其中bestfit属性 会让字体跟屏幕的分辨率自适应(默认最好勾选,提高清晰度)
- Image
注意导入的时候选择一下最大(并且选择图片的类型:一般在texture type里面选择2D sprite)
在image属性的Rect transform里面的csutom可以选择锚点(选择右上角则图片一直尽量在右上角)
- Button
最下面的fade duration 为颜色转换时间
- IEnumerator协程
IEnumerator是一个接口,用于创建协程的方法
Yied return new WaitForSeconds(time);//让程序等待time秒,这个语句写在IEnumerrator接口定义的方法内(上面的时间等待语句也可以在下面写其他语句)
注意:Unity碰到这个语句会暂时挂起,直到满足条件,才会继续执行其他语句
- yield与sleep
线程执行sleep()方法后会转入阻塞状态,所以执行sleep()方法的线程在指定的时间内肯定不会被执行,而yield()方法只是使当前线程重新回到可执行状态,所以执行yield()方法的线程有可能在进入到可执行状态后马上又被执行。
toggle需要放在一个空的gameobject里面分组(需要添加toggle group组件,并且在toggle对象里面添加gameobject为group)
当需要接收屏幕内游戏对象参数的变化的时候,带有参数的方法的选择需要选择同名的上面重载函数(没有参数的系统重载函数,这个才是接收屏幕内的参数,而不是自己指定的)
itween(版本至少5。6.4否则无法安装)
iTween.Moveto(GameObject,GameObject.transform.position +new Vector3(x,y,z,播放时间))
//控制游戏对象移动,x,y,z为移动的距离而不是坐标,注意如果中间的位移不写gameobject.transform.position位置会发生偏移
- 添加滚动效果(在图片上面添加scroll Rect之后按照需要的控件赋值即可)
在图片的scaroll Rect 上面添加对应方向的scroll bar即可
注意:同样需要添加两张图片(下面的作为背景,后添加的添加scroll组件,并且将文本放在上面)
注意:如果只想要背景,并且文本不再显示范围内也不显示(不要后来为了添加滚动条而不得不加的图片,需要添加mask组件,将show mask Graphic取消-唯一的参数)
Align With view 对齐当前视角
Shadow脚本添加阴影(如果UI界面的功能需要添加到自己的图片上,那么需要自己在add component里面添加,而不是找****UI选项添加)
Toggle里面 Graphics为选中之后显示的图片
Grid lAYOUT group 网格排序(子物体自动将图片排序,像背包一样,一个一个的)
在任何UI里面的onchanged添加游戏对象的时候,都可以调用内置的Gameobject的setactive脚本控制对象的出现与消失
scrooll 做出的滚动换页效果,需要在脚本控制中添加IBeginDragHandler与IEndDragHandler并且分别实现来检测拖拽的开始与结束,以达到换页的检测(换到最近的一页)
所以ScrollRect.normalPosition(获取或设置X,Y坐标,用Vector2接收)-也可以选择只接收水平或者垂直的距离,那么用float接收(总长度为1,根据自己需要的页数定义换页的范围)
- Scroll缓慢换页效果(必须放在update里面。因为这个语句属于动画,如果放在一般的函数里面就会执行一次(具体移动长短根据速度来定),导致换页不完全)
ScrollRect.horizontalNormalizedPosition = Mathf(float 起始位置,float 目标位置,速度(可以用Time.deltatime));。
注意:必须要判断是否进行拖拽(否则会因为在update的不断运行导致闪烁)
- 在unity3d中经常用线性插值函数Mathf.Lerp()来在两者之间插值,两者之间可以是两个材质之间、两个向量之间、两个浮点数之间、两个颜色之间
20.对于UI组件,如果不是必须用到UI内部的函数,而是对于游戏组件的操作(显示,移动,定位),应该用gameobject类来创建对象