ImageRawImage的区别
⼀、⾯板参数
1、Image类型:
Source Image:图⽚资源(sprite)
Color:颜⾊
Material:材质
Raycast Target :是否作为射线⽬标
Sprite 2D:是贴图的原始⼤⼩。
2、Raw Image类型:
Source Image :图⽚资源(Texture)
svg和canvas的区别Color :颜⾊
Material:材质
Raycast Target:是否作为射线⽬标
UV Rect :图⽚在矩形⾥的偏移和⼤⼩
Texture:会把贴图的⼤⼩转换为最相近的2的n次⽅,⽐如400X1369会转换为512X1024。
UV Rect属性详讲:
UV Rect的x、y的意思就是从贴图的哪个地⽅开始显⽰在Canvas中的,以左下⾓为(0,0),右上⾓为(1,1)。
如果是x、y是(0,0.5),表⽰从贴图的中部(0,0.5)的坐标开始往上和往右显⽰,超出的部分有两种模式来填补,受贴图的Wrap Mode属性影响,Clamp表⽰⽤最后的像素填充,另⼀种是Repeat表⽰从头开始贴,Sprite类型的只能Clamp。
UV Rect的w、h的意思就是显⽰在Canvas中的⼤⼩,以左下⾓为(0,0),右上⾓为(1,1),如果是w、h是(0.5,0.5),表⽰在Canvas中显⽰原来贴图的四分之⼀。
⼆、Image和Raw Image区别和优势
1、区别:
1.Sprite 只能⽤在 Image 组件上,做2D and UI;
2.Sprite可以做九宫格;
3.Sprite⼀般⽤在⼩图.可以打包Atlas(图集);
4.Texture基于纹理寻址模式,不能打包Atlas;
5. UI 需要修改UV Rect和⽤到寻址模式的,⽤Texture,否则⽤Sprite;
2、优势:
1. Image可以九宫格拉伸。
2. Raw Image可以UV Rect贴图的纹理寻址。
3.⼀般⽤Image,除了地图寻址,滚动之类的,从贴图哪个位置开始显⽰。
三、Raw Image应⽤--飞⾏类游戏场景的滚动效果
1.创建⼀个叫“sky”的Raw Image的UI节点。
2.把Texture类型的贴纸拖进sky节点的Raw Image组件的Texture属性中。贴图必须是Texture类型的,不能是Sprite2D,Sprite2D会有空⽩。⽽且Wrap Mode必须是Repeat,不然会把最后⼀⾏的像素重复显⽰。
3.设置sky节点的Scale,x和y都设置为1.25,覆盖好Canvas。(只有x、y相同才能不变形。)
4.创建⼀个叫sky的脚本,脚本代码如下,挂载到sky节点下。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class sky : MonoBehaviour {
RawImage img;
float speed = 0.1f;
// Use this for initialization
void Start () {
this.img = this.GetComponent<RawImage>();
}
// Update is called once per frame
void Update () {
float s = this.speed * Time.deltaTime;
Rect r = this.img.uvRect;
r.y += s;
this.img.uvRect = r;
}
}
5.实现地图的滚动
四、创建完⼀个Canvas后需要做的事情
1.把Canvas节点的Canvas组件的Render Mode改为Screen Space-Overlay
2.把Canvas节点的Canvas Scaler组件的UI Scale Mode改为Scale With Screen Size
3.把Canvas节点的Canvas Scaler组件的Reference Resolution改为640X960
4.把Canvas节点的Canvas Scaler组件的Match拉到Width那⼀边
5.把Canvas节点的Canvas Scaler组件的Reference Pixels Per改为100
注意:Canvas节点的Canvas组件的Render Mode为Screen Space-Overlay时是绘制不出带材质球的UI节点,必须换成Screen Space-Camera,并且把Main Camera拉到Canvas节点的Canvas组件的Render Camera属性中才会显⽰。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。