一:效果演示
二:实现思路
重写Image的OnPopulateMesh方法,首先获取到顶点坐标,然后不同方向做不同的偏移
三:代码实现
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 可变形的image
/// </summary>
public class SkewImage : Image
{
[SerializeField]
private Vector2 rtOffset;//右上
[SerializeField]
private Vector2 rbOffset;//右下
[SerializeField]
private Vector2 ltOffset;//左上
[SerializeField]
private Vector2 lbOffset;//左下
/// <summary>
/// 获取偏移量
/// </summary>
private Vector3 GetOffset(int i)
{
if (i == 0)
{
return lbOffset;