0

我想旋转一个 Unity 按钮。这是我的代码,但它不起作用。

if (GUI.Button(
        new Rect(95 * Screen.width / 100 - Screen.height / 8, 
                 4 * Screen.height / 5, 
                 Screen.height / 4, 
                 Screen.height / 4), 
        MoreUp) || this.ForceMoreClick)
{   
    this.transform.rotation.x = 10f;
    this.PlayMenuButtonClick();

    this.MoreAnimatedDir = this.MoreAnimatedDir == AnimatedDirection.UP 
        ? AnimatedDirection.UPREVERT 
        : AnimatedDirection.UP;

    this.moreAnimation.ChangeAnimatedDirection(this.MoreAnimatedDir);
    this.ForceMoreClick = false;
}

我必须为此使用 TweenLean 吗?

4

1 回答 1

1

我发现了一小段代码可以在点击时旋转按钮:

using UnityEngine;
using System.Collections;

    public class RotateButton: MonoBehaviour {
        private float rotAngle = 0;
        private Vector2 pivotPoint;
        void OnGUI() {
            pivotPoint = new Vector2(Screen.width / 2, Screen.height / 2);
            GUIUtility.RotateAroundPivot(rotAngle, pivotPoint);
            if (GUI.Button(new Rect(Screen.width / 2 - 25, Screen.height / 2 - 25, 50, 50), "Rotate"))
                rotAngle += 10; //This is rotating it 10 degrees.

        }
    }

也许它会帮助你。来源:http ://docs.unity3d.com/Documentation/ScriptReference/GUIUtility.RotateAroundPivot.html

于 2013-10-17T16:29:26.087 回答