NGUI下给Sprite/image添加collider后能自适应大小,但是在UGUI下Collider是默认在(0,0)位置,size为0
因此写了个简单的脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BoxColliderAdjust : MonoBehaviour
{
private BoxCollider2D boxCollider2D;
private RectTransform rt;//UI图片
void Start()
{
rt = this.GetComponent<RectTransform>();
boxCollider2D = this.GetComponent<BoxCollider2D>();
boxCollider2D.offset = rt.rect.center;//把box collider设置到物体的中心
boxCollider2D.size = new Vector2(rt.rect.width, rt.rect.height);//改变collider大小
}
void Update()
{
}
}