You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
3 years ago
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.EventSystems;
|
||
|
|
||
|
public class OnScrollPanel : MonoBehaviour, IScrollHandler
|
||
|
{
|
||
|
public float width;
|
||
|
public float height;
|
||
|
public float minMultiple;
|
||
|
public float maxMultiple;
|
||
|
public void OnScroll(PointerEventData eventData)
|
||
|
{
|
||
|
var step = GetComponent<RectTransform>().sizeDelta * eventData.scrollDelta.y * 0.1f;
|
||
|
var sizeDelta = GetComponent<RectTransform>().sizeDelta + step;
|
||
|
if (sizeDelta.x / width > minMultiple && sizeDelta.x / width < maxMultiple)//因为长宽是同比例缩放,所以只判断长即可
|
||
|
{
|
||
|
GetComponent<RectTransform>().sizeDelta += step;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Use this for initialization
|
||
|
void Start()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
// Update is called once per frame
|
||
|
void Update()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
public void SetSize(Texture2D texture)
|
||
|
{
|
||
|
width = texture.width;
|
||
|
height = texture.height;
|
||
|
GetComponent<RectTransform>().sizeDelta = new Vector2(width, height);
|
||
|
}
|
||
|
}
|