在Unity3d中创建滑动GUI
2010-01-26 15:17
239 查看
功能实现:
1.创建一个GUITexture : create-> GUITexure;
此时可以通过修改component 栏中的选项,改变gui的texture等;
这样建立的GUITexture从属于整个屏幕平面,作为一个新的物体出现,他的位置不受camera的位置的影响,就是说,不管camera移动到哪里,这个GUI始终在你设定的位置;
2. 将GUIslider.js附加到GUITexture上;
maincamera作为其参数,应该将camera指定到上面;
------------------------------------------------------------------------------------------------------
----------------------------------华丽丽的分割线-----------------------------------------------------
代码 GUISlider.js
-----------------------------------------------------------------------------------------------------
var mainCamera:Camera;//将你自己的camera赋值到这个camera上面
var customButton : GUIStyle;// 为新出现的GUI设置Style
private var newPosition:Vector3;// GUI移动后新的位置
private var MouseUp: boolean;//显示Mouse是够是Up状态
private var getPosition : int = 0;//得到鼠标离开GUI的帧数
private var subGuiShowUp : int = 0;//统计帧数,控制subGUI出现
function Update () {
if(MouseUp){
if(getPosition < 12)
{
newPosition.x = mainCamera.ScreenToViewportPoint(Input.mousePosition).x;
getPosition +=1;
}
if(Mathf.Abs(transform.position.x - newPosition.x) > 0.00001){
transform.position.x += (newPosition.x - transform.position.x)*Time.deltaTime*6;
}
}
}
function OnMouseDrag(){
MouseUp = false;
subGuiShowUp +=1;
getPosition = 13;
transform.position.x += (mainCamera.ScreenToViewportPoint(Input.mousePosition).x - transform.position.x)*Time.deltaTime*10;
}
function OnMouseUp(){
print(transform.position.x);
MouseUp = true;
getPosition = 0;
//subGuiShowUp = 25;
}
function OnGUI(){
if(MouseUp){
if(subGuiShowUp < 12){
GUI.Button (Rect (5,5,100,100), "Hello World", customButton);
}
}
}
function OnMouseDown(){
subGuiShowUp = 0;
}
----------------------------------------------------------------------------------------------
1.创建一个GUITexture : create-> GUITexure;
此时可以通过修改component 栏中的选项,改变gui的texture等;
这样建立的GUITexture从属于整个屏幕平面,作为一个新的物体出现,他的位置不受camera的位置的影响,就是说,不管camera移动到哪里,这个GUI始终在你设定的位置;
2. 将GUIslider.js附加到GUITexture上;
maincamera作为其参数,应该将camera指定到上面;
------------------------------------------------------------------------------------------------------
----------------------------------华丽丽的分割线-----------------------------------------------------
代码 GUISlider.js
-----------------------------------------------------------------------------------------------------
var mainCamera:Camera;//将你自己的camera赋值到这个camera上面
var customButton : GUIStyle;// 为新出现的GUI设置Style
private var newPosition:Vector3;// GUI移动后新的位置
private var MouseUp: boolean;//显示Mouse是够是Up状态
private var getPosition : int = 0;//得到鼠标离开GUI的帧数
private var subGuiShowUp : int = 0;//统计帧数,控制subGUI出现
function Update () {
if(MouseUp){
if(getPosition < 12)
{
newPosition.x = mainCamera.ScreenToViewportPoint(Input.mousePosition).x;
getPosition +=1;
}
if(Mathf.Abs(transform.position.x - newPosition.x) > 0.00001){
transform.position.x += (newPosition.x - transform.position.x)*Time.deltaTime*6;
}
}
}
function OnMouseDrag(){
MouseUp = false;
subGuiShowUp +=1;
getPosition = 13;
transform.position.x += (mainCamera.ScreenToViewportPoint(Input.mousePosition).x - transform.position.x)*Time.deltaTime*10;
}
function OnMouseUp(){
print(transform.position.x);
MouseUp = true;
getPosition = 0;
//subGuiShowUp = 25;
}
function OnGUI(){
if(MouseUp){
if(subGuiShowUp < 12){
GUI.Button (Rect (5,5,100,100), "Hello World", customButton);
}
}
}
function OnMouseDown(){
subGuiShowUp = 0;
}
----------------------------------------------------------------------------------------------
相关文章推荐
- Unity3D中创建滑动GUI
- 在Unity3d中创建滑动GUI
- 在Unity3d中创建滑动GUI
- 【Ubuntu+OpenCV】HighGUI之trackbar(滑动条)的创建--学习笔记【2】
- Unity3d 通过代码手动创建button(不用GUI自带的button以及其他插件)
- OpenCV之highgui 模块. 高层GUI和媒体I/O: 为程序界面添加滑动条 OpenCV的视频输入和相似度测量 用OpenCV创建视频
- 第3章 HighGUI图形用户界面初步_3.2滑动条的创建和使用
- 教你如何创建滑动GUI
- unity3d EZGUI简易教程
- Unity3d 创建线程 子线程与主线程通信
- Opencv 创建滑动条
- Unity3d GUI适应分辨率
- [Unity3D]EZGUI 操作简单介绍
- Unity3D技术之用程序生成网格几何体-示例–创建一个广告牌
- Unity3D游戏开发 创建简单的游戏世界(三)
- Ionic2:创建App启动页滑动欢迎界面
- 【Unity3d开发相关】小地图高速创建
- Unity3D入门之GUI基础以及常用GUI控件使用(2)
- 【浅墨Unity3D Shader编程】之一 游戏场景的创建 & 第一个Shader的书写
- PowerShell GUI之创建Button和输入框