UI 的旋转

转自:http://blog.163.com/long_wtf/blog/static/185553270201192943354903/


现在的demo里用的2D显示是 GUI.DrawTexture(); 策划提了个需求,说是做个表,有时针、分针、秒针,要求和系统时间相对应。解决思路如下:使用矩阵的旋转来做,使用一个临时变量保存正常的矩阵,调用函数  static function RotateAroundPivot (angle : float, pivotPoint : Vector2) : void   来进行旋转(ScaleAroundPivot可以用来缩放),第一个参数为旋转角度,从当前状态顺时针旋转的度数。第二个为中心点。做完相应操作,还原矩阵。代码如下:


var n : int;

function OnGUI()

{

    n++;  

    var oldMatrix : Matrix4x4 = GUI.matrix;  

    GUIUtility.RotateAroundPivot(n,Vector2(100,100));  

    GUI.Button( Rect(100,100,100,100), "Rotation" );  

    GUI.matrix = oldMatrix;  

    GUI.Button( Rect(200,200, 100,100),"static" );

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值