【Unity3D API的学习与使用】Unity实现GUI组件的位移、缩放和旋转
2015-04-01 01:31
686 查看
在使用Unity中GUI组件时,我们可以像处理一个实体一样,对其进行位移、缩放和旋转的操作。
其中,位移和缩放都只需要改变其Rect的内容即可,前者改变x、y参数,后者改变width和height参数,而旋转则有所不同,它需要使用GUI.matrix的一个函数:
GUIUtility.RotateAroundPivot (rotAngle, pivotPoint)
参数说明:
rotAngle:旋转的角度;
pivotPoint:旋转时围绕的中心点。
JavaScript示例:
在示例里
这行代码是记录此时GUI界面的GUI.matrix ,然后会在旋转操作之后恢复它(官网里所说旋转界面是通过改变这个变量的值成功的,如下),这样,就使得left和right按钮不被旋转,而只旋转Hello这一个按钮。
Helper function to rotate the GUI around a point.
Modifies GUI.matrix to rotate all GUI elements angle degrees around pivotPoint.
其中,位移和缩放都只需要改变其Rect的内容即可,前者改变x、y参数,后者改变width和height参数,而旋转则有所不同,它需要使用GUI.matrix的一个函数:
GUIUtility.RotateAroundPivot (rotAngle, pivotPoint)
参数说明:
rotAngle:旋转的角度;
pivotPoint:旋转时围绕的中心点。
JavaScript示例:
#pragma strict private var rotAngle : float = 0; //旋转的角度 private var pivotPoint : Vector2; //旋转时的中心坐标 function Start(){ //设定旋转中心点为屏幕中心 pivotPoint = Vector2(Screen.width/2,Screen.height/2); } function OnGUI () { if(GUI.Button(Rect(Screen.width/2-75, Screen.height/2-100, 50, 50),"right")) rotAngle += 10; if(GUI.Button(Rect(Screen.width/2+25, Screen.height/2-100, 50, 50),"left")) rotAngle -= 10; var matrix : Matrix4x4 = GUI.matrix; //记录此时的矩阵 GUIUtility.RotateAroundPivot (rotAngle, pivotPoint); //旋转 if(GUI.Button(Rect(Screen.width/2-25, Screen.height/2-25, 50, 50),"Hello")) { } GUI.matrix = matrix; //矩阵恢复,从而使left和right按钮不旋转 }
在示例里
ar matrix : Matrix4x4 = GUI.matrix; //记录此时的矩阵
这行代码是记录此时GUI界面的GUI.matrix ,然后会在旋转操作之后恢复它(官网里所说旋转界面是通过改变这个变量的值成功的,如下),这样,就使得left和right按钮不被旋转,而只旋转Hello这一个按钮。
Helper function to rotate the GUI around a point.
Modifies GUI.matrix to rotate all GUI elements angle degrees around pivotPoint.
相关文章推荐
- 008-实现Unity3d中使用LeanTouch插件进行触屏控制(拖拽、移动、缩放旋转...)
- 【Unity3D API的学习与使用】Unity中的事件响应——UnityEvent
- 学习u3d笔记(一) OnGui实现动态创建cube组件 并按钮控制cube旋转 停止 销毁
- Unity3d物体模型(实现旋转缩放平移自动旋转)
- unity3D基础学习 通过判断鼠标点击的是否是目标物体,物体旋转,滑动滚轮缩放拉近视角
- Android开发--图形图像与动画(二)--Animation实现图像的 渐变、缩放、位移、旋转
- UIKit 图片的移动、位移、旋转、缩放、翻转、翻页等特效的使用
- 在J2ME中使用Nokia UI API实现图片的旋转
- android学习记录(二)-----imageView实现图片的旋转和缩放
- Unity3d物体模型(实现旋转缩放平移自动旋转)
- Unity3d中使用鼠标控制物体的平移旋转缩放
- Rational Functional Tester Proxy SDK 开发,第 2 部分: 使用 Proxy SDK 扩展 RFT 已支持 Java GUI 组件 Proxy 对象实现
- Unity3D For iPhone游戏引擎之使用脚本实现模型平移与模型旋转(六)
- [Unity3d]unity+asp.net实现动态搜索加载模型并且能够实现模型拖动缩放的功能
- [Unity3D]Unity3D游戏开发之鼠标旋转、缩放实现3D物品展示
- [Unity3d]3D车展之汽车开门关门和旋转缩放的效果的实现
- [Unity3D]手机3D游戏开发:如何实现最高分的存储与显示(三)----GUI Style与数组的使用
- cakephp学习:大部分动作使用Auth组件来控制权限,但少部分不用,如何实现?
- [Unity3D]手机3D游戏开发:如何实现最高分的存储与显示(二)----使用GUI.Box显示文字
- Android之UI学习篇六:ImageView实现图片旋转和缩放