UI 2D图片随鼠标旋转

//脚本挂在旋转的图片上,CubeZ的坐标设置为(0,0,1),要将轴心点放在中间位置
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class RotateIt : MonoBehaviour, IBeginDragHandler, IDragHandler
{
    public GameObject RotateImg;//转盘

    public GameObject CubeZ;

    Vector3 mous;//记录鼠标的坐标
    Vector3 gameZ;

    void Start () 
    {
        gameZ = CubeZ.transform.position;//记录下参考物体的坐标
    }
    public void OnBeginDrag(PointerEventData eventData)
    {
        mous = Input.mousePosition;//记录开始拖拽时的鼠标坐标

        CubeZ.transform.LookAt(mous);//看向鼠标的坐标
        Debug.Log(mous);

    }

    public void OnDrag(PointerEventData eventData)
    {
        RotateImg.transform.Rotate(new Vector3(0, 0, -gameZ.z));//顺时针旋转
        RotateImg.transform.Rotate(new Vector3(0, 0, gameZ.z));//逆时针旋转
        Debug.Log(transform.position); 
   }
}

 

 //参考物体 CubeZ的坐标

//脚本挂载位置

运行结果: 

图片随鼠标绕轴心旋转

转载于:https://www.cnblogs.com/Cocomo/p/5748219.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值