gorgi93
gorgi93

Reputation: 2535

Rotate unity button

I want to rotate a Unity button. Here is my code but it does not work.

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;
}

Do I have to use TweenLean for this?

Upvotes: 0

Views: 3017

Answers (1)

JLott
JLott

Reputation: 1828

I found this little bit of code that will rotate the button on click:

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.

        }
    }

Maybe it will help you out. Source: http://docs.unity3d.com/Documentation/ScriptReference/GUIUtility.RotateAroundPivot.html

Upvotes: 1

Related Questions