开发工具:
文件大小: 2kb
下载次数: 0
上传时间: 2011-12-27
详细说明: 以前一直不知道在GUI里面画出的图片可以旋转,所以遇到想要旋转图片时,都是把图片贴到一个面片上,旋转面片,很是不方便,最近发现在GUI里是可以旋转图片的,所以写到这里分享给大家。下面贴一个例子,利用图片旋转写的一个钟表的代码,不废话,直接上代码。 var Tu1 : Texture2D; var Time1 : float = 0; function FixedUpdate () { Time1 += Time.deltaTime; } function OnGUI () { GUI.Label(Rect(250,170,161,62),getTime(Time1)); GUIUtility.RotateAroundPivot (6*Time1, Vector2(103, 200)); GUI.DrawTexture(Rect(100,100,6,100),Tu1);//秒针 GUIUtility.RotateAroundPivot (-6*Time1, Vector2(103, 200)); GUIUtility.RotateAroundPivot (0.1*Time1, Vec tor2(103, 200)); GUI.DrawTexture(Rect(100,120,6,80),Tu1);//分针 GUIUtility.RotateAroundPivot (-0.1*Time1, Vector2(103, 200)); GUIUtility.RotateAroundPivot (0.1/60*Time1, Vector2(103, 200)); GUI.DrawTexture(Rect(100,140,6,60),Tu1);//时针 GUIUtility.RotateAroundPivot (-0.1/60*Time1, Vector2(103, 200)); } function getTime(time : float) : String{ if(time<0){ return "00:00:00"; } var lastTime : String = ""; var hour = Mathf.FloorToInt(time/3600$); if(hour/10 >=1){ lastTime+="" + hour; }else{ lastTime +="0" + hour; } var minute = Mathf.FloorToInt(time/60`); if(minute/10 >=1){ lastTime+=":" + minute; }else{ lastTime +=":0" + minute; } var second = Mathf.FloorToInt(time`); if(second/10 >=1){ lastTime+=":" + second; }else{ lastTime +=":0" + second; } return lastTime; } 简单介绍一下代码 GUIUtility.RotateAroundPivot (6*Time1, Vector2(103, 200))为旋转GUI的代码,第一个参数为旋转的角度,第二个参数为旋转的中心点,在它之下的GUI元素都会执行该旋转,例如图片、文字等。当你只想旋转某一GUI元素而其他元素不旋转事就得给它一个停止旋转的代码,很简单,停止旋转时给它一个反向的角度,ok。 为了便于测试,在钟表左边给出一个数字时间经行对比。getTime(time : float)可用于实现场景中时间的显示,或者倒计时的显示等,需要的直接拿走,哈哈哈~ ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.