刚研究出来的,首先是自带的canvas设置,render mode选为world space, 坐标改成(0,0,0)?,canvas中心就跑到相机那里了,完成了坐标统一。
![](https://img-blog.csdnimg.cn/d4b8be04b67d434fa17bab774aadb46f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5L6v5aKe5rab,size_20,color_FFFFFF,t_70,g_se,x_16)
image坐标先改成(0,0,0)表示在canvas中心,因canvas中心坐标改成(0,0,0)了,相当于这下image也到相机那里了。然后就可以按正常的部件的坐标理解位置了。width和Height改图片的大小,以m为单位(先改成1m以便scale处好理解控制大小),scale改比例大小(习惯用scale改大小了,所以这里在scale处改)
?
?点击相机测试视野,白色方框就是为加入内容的image物件,用GetComponent<Image>().sprite即可调用更换图片内容。
![](https://img-blog.csdnimg.cn/2bb11856f154459c81af874a01422820.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5L6v5aKe5rab,size_20,color_FFFFFF,t_70,g_se,x_16)
?用法例子如下:
using UnityEngine;
using UnityEngine.UI;
public class ImageButton : MonoBehaviour
{
//定义照片(照片为sprite类型)
public Sprite godfather1;
public Sprite godfather2;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
}
public void OnImageDown()//定义鼠标按下时
{
GetComponent<Image>().sprite = godfather2;//调用Image组件,赋值godfather2
}
public void OnImageUp()//定义鼠标抬起时
{
GetComponent<Image>().sprite = godfather1;
}
}
![](https://img-blog.csdnimg.cn/caf38b6ce7ba447eb16572b49c457d45.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5L6v5aKe5rab,size_20,color_FFFFFF,t_70,g_se,x_16)
?
|