Unity 3D第二更
来源:互联网 发布:ie10 淘宝图片不显示 编辑:程序博客网 时间:2024/05/22 03:08
Unity 3D改变旋转角度
float value_x=0; float value_y=0; float value_z=0; GameObject cube ; GameObject cylinder; // Use this for initialization void Start () { cube = GameObject.Find ("Cube"); cylinder = GameObject.Find ("Cylinder"); } void OnGUI() { GUILayout.Box ("改动X轴角度"); value_x = GUILayout.HorizontalSlider (value_x,-180,180,GUILayout.Width (200)); GUILayout.Box ("改动Y轴角度"); value_y = GUILayout.HorizontalSlider (value_y,-180,180,GUILayout.Width (200)); GUILayout.Box ("改动Z轴角度"); value_z = GUILayout.HorizontalSlider (value_z,-180,180,GUILayout.Width (200)); cube.transform.rotation =Quaternion.Euler ( value_x,value_y,value_z); GUILayout.Box ("角度为"+cube.transform.rotation); } // Update is called once per frame void Update () { }
Unity 3D工具栏选项菜单
//记录选择了哪个按钮的ID int select; string[] barsources; bool selectToggle1; bool selectToggle2; void OnGUI() { int oldSelect = select; select = GUI.Toolbar(new Rect(10,10,barsources.Length*100,30),select,barsources); if(select != oldSelect) { selectToggle1 = false; selectToggle2 = false; } switch(select) { case 0: selectToggle1 = GUI.Toggle(new Rect(10,50,200,30),selectToggle1,"工具栏1的单项选择按钮-1"); selectToggle2 = GUI.Toggle(new Rect(10, 80, 200, 30), selectToggle2, "工具栏1的单项选择按钮-2"); break; case 1: selectToggle1 = GUI.Toggle(new Rect(10, 50, 200, 30), selectToggle1, "工具栏2的单项选择按钮-1"); selectToggle2 = GUI.Toggle(new Rect(10, 80, 200, 30), selectToggle2, "工具栏2的单项选择按钮-2"); break; case 2: selectToggle1 = GUI.Toggle(new Rect(10, 50, 200, 30), selectToggle1, "工具栏3的单项选择按钮-1"); selectToggle2 = GUI.Toggle(new Rect(10, 80, 200, 30), selectToggle2, "工具栏3的单项选择按钮-2"); break; case 3: selectToggle1 = GUI.Toggle(new Rect(10, 50, 200, 30), selectToggle1, "工具栏4的单项选择按钮-1"); selectToggle2 = GUI.Toggle(new Rect(10, 80, 200, 30), selectToggle2, "工具栏4的单项选择按钮-2"); break; } } // Use this for initialization void Start() { select = 0; barsources = new string[] { "第一个工具栏", "第二个工具栏", "第三个工具栏", "第四个工具栏" }; selectToggle1 = false; selectToggle2 = false; } // Update is called once per frame void Update() { }
Unity 3D 公转Around 的用法
void Update () { // transform.Rotate(Vector3.up * Time.deltaTime * -Gongzhuang); /// transform.RotateAround(new Vector3(0, 0, 4.031555f), Vector3.up, 20 * Time.deltaTime); /// transform.RotateAround(new Vector3(0, 0, 0), Vector3.up, 20 * Time.deltaTime);//三个参数,旋转中心坐标 旋转速度 } int Gongzhuang = 360; void OnGUI() { if (GUI.RepeatButton(new Rect(10, 40, 150, 30), "月球公转")) { // } }
Unity 3D滚动条
Vector2 scrollviewposition; // Use this for initialization void Start () { scrollviewposition[0] = 0; scrollviewposition[1] = 0; } void OnGUI() { scrollviewposition = GUI.BeginScrollView(new Rect(0, 0, 300, 300), scrollviewposition, new Rect(0, 0, 300,250), true, false); GUI.Label(new Rect(10, 10,50,50), "测"); GUI.EndScrollView(); } // Update is called once per frame void Update () { }
Unity 3D 接受任务绘制窗口实例
// Use this for initialization void Start() { } // int sudu = 20; // private Transform transform; // Update is called once per frame bool isWin = false;//添加一个标示,表示窗口的状态 string Mee = "亲爱的勇士们"; string Mess = "愚蠢的人类呀!"; string M = "我可以实现你的愿望!"; string t1 = "实现"; string t2 = "放弃"; int click = 0;//按钮的点击次数 string[] Huoba; void OnGUI() { GUI.Label(new Rect(20, Screen.height/2, 200, 250), Mee+click);//左边的说明文字 if (isWin) { GUI.Window(0, new Rect(Screen.width / 2, Screen.height / 4, 300, 100), Mouse,Mess ); if (GUI.Button(new Rect(Screen.width / 2 + 25, Screen.height / 4 + 60, 50, 30),t1)) { click++;//每点击一次按钮,click++ // isWin = false; Mee = "帮我搜集神器,我帮你完场梦想"; Mess = "寻找十方神器!"; M = "如果你找到了十方神器,我给你荣华富贵!"; t1 = "开始寻找"; t2 = "放弃寻找,回家睡觉"; if (click == 2)//如果点击次数是2的话,就关闭窗口 { isWin = false; // GetComponent<Light>().enabled = false;//关闭组件 // gameObject.SetActive(false);//设置活动 // GetComponent<Light>().intensity = 0.0f;//减弱灯光强度 // GetComponent<Light>().range = 0.0f;//点光源范围 } } if (GUI.Button(new Rect(Screen.width / 2 + 220, Screen.height / 4 + 60, 50, 30), t2))//点击取消按钮 { isWin = false; Mee = "呵呵哒!"; } } } void Mouse(int Winid) { GUI.Label(new Rect(80, 30, 150, 50), M);//窗体的标签文字 } void Update() { //if (click == 0) //{ // isWin = false; //if (Input.GetMouseButtonDown(1)) //{ // RaycastHit hit; // Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); // if (Physics.Raycast(ray, out hit, 100)) // { // Debug.Log(hit.collider.gameObject.name); // } //} //} // play = GameObject.Find("Culb"); //0表示鼠标左键1 表示鼠标右键 if (Input.GetMouseButtonDown(0)) { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 100)) { if (hit.collider.gameObject.name == "she")//如果游戏对象是蛇 { isWin = true; if (click == 2)//满足点击次数 { isWin = false; if (transform.Find("Point light").GetComponent<Light>().tag == "GameBoss") { transform.Find("Point light").GetComponent<Light>().range = 0.0f; } //transform.Find("Point light").GetComponent<Light>().enabled = false; } } } } if (click == 2) { if (Input.GetMouseButtonDown(1)) { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 100)) { //Debug.Log(hit.collider.gameObject.name); if (hit.collider.gameObject.name == "Cubeone" || hit.collider.gameObject.name == "Cubeone02")//拾取物品 { Destroy(hit.collider.gameObject); } } } } }
Unity 3D判断游戏执行的顺序
// Use this for initialization void Start () { print ("开始执行StartCoroutine,, "+Time.time); StartCoroutine ("aaa"); print ("结束执行StartCoroutine,, "+Time.time); } IEnumerator aaa() { print ("开始执行aaa,, "+Time.time); yield return new WaitForSeconds (3); // print ("结束执行aaa,, "+Time.time); } // Update is called once per frame void Update () { }
Unity 3D前后左右移动
// Use this for initialization void Start() { all = Resources.LoadAll("knight"); nowFrame = 0; countFrame = all.Length; fps = 10; } int x = 100; int y = 100; object[] all; void OnGUI() { GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), (Texture)Resources.Load("back"), ScaleMode.StretchToFill, false, 0); DrawAnimatiion(new Rect(x, y, 64, 64)); if (GUILayout.RepeatButton("向前")) { x += 2; } if (GUILayout.RepeatButton("向后")) { x -= 2; } if (GUILayout.RepeatButton("向下")) { y += 2; } if (GUILayout.RepeatButton("向上")) { y -= 2; } } void FixedUpdate() { } int nowFrame = 0; int countFrame = 0; float time; int fps = 0; void DrawAnimatiion(Rect r) { GUI.DrawTexture(r, (Texture)all[nowFrame], ScaleMode.StretchToFill, true, 0); time += Time.deltaTime; if(time >= 1.0/fps) { nowFrame++; time = 0; } if(nowFrame >=countFrame) { nowFrame = 0; } } // Update is called once per frame void Update() { }
Unity 3D 添加脚本移除脚本 添加背景颜色
public Texture myTexture; GameObject myObj; Renderer render; // Use this for initialization void Start () { myObj = GameObject.Find ("Cube"); myObj.AddComponent (typeof(UnityScript03));//添加脚本 render = (Renderer)myObj.GetComponent <Renderer>(); } int a=10; int b=10; int c=10; void OnGUI() { if (GUILayout.Button ("添加颜色")) { myObj.GetComponent<Renderer>().material.color = Color.red; } if (GUILayout.Button ("移除颜色")) { a++; b++; c++; myObj.transform.position = new Vector3(10,10,10); myObj.transform.localScale = new Vector3(a,b,c); } if (GUILayout.Button ("添加背景图")) { render.material.mainTexture=myTexture; } if (GUILayout.Button ("移除脚本")) { Destroy(myObj.GetComponent<UnityScript03>()); } } // Update is called once per frame void Update () { }
Unity 3D 添加移除窗口
// Use this for initialization void Start () { windowList.Add(new Rect(windowList.Count*200,100,200,150)); } ArrayList windowList = new ArrayList(); void OnGUI() { int count = windowList.Count; for (int i = 0; i < count;i++ ) { windowList[i] = GUILayout.Window(i, (Rect)windowList[i],myWindow,"这是第"+i+"个窗口"); } } void myWindow(int winid) { if (GUILayout.Button("添加一个窗口")) { windowList.Add(new Rect(windowList.Count * 200, 100, 200, 150)); } if (GUILayout.Button("移除该窗口")) { windowList.Remove(windowList[winid]); //windowList.RemoveAt(winid); } GUI.DragWindow(); } // Update is called once per frame void Update () { }
Unity 3D 添加组件 控制组件旋转
string AddCub = "添加正方体"; string AddSphere = "添加球体"; bool isRotateCub = false; bool isRotatreSphere = false; string CubRotate="开始选装方体"; string SphereRotate = "开始旋转球体"; public int Angle=50; GameObject Cub; GameObject Sphere; // Use this for initialization void Start () { } // Update is called once per frame void Update () { Cub = GameObject.Find ("Cub1"); Sphere = GameObject.Find ("Sphere1"); Diaoluo (isRotateCub, Cub); Diaoluo (isRotatreSphere, Sphere); } void Diaoluo(bool Rotate,GameObject obj) { if (obj) { if(Rotate) { obj.transform.Rotate(Vector3.up*Time.deltaTime*Angle); } } } void OnGUI() { if(GUILayout.Button(AddCub)) { GameObject objCub = GameObject.CreatePrimitive(PrimitiveType.Cube); objCub.name="Cub1"; objCub.AddComponent(typeof(Rigidbody));//添加刚体 //objCub.rigidbody.useGravity = false;//移除刚体 objCub.GetComponent<Renderer>().material.color = Color.red; objCub.transform.position = new Vector3(0,10,0); } if(GUILayout.Button(AddSphere)) { GameObject objSphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); objSphere.name="Sphere1"; objSphere.AddComponent(typeof(Rigidbody)); objSphere.GetComponent<Renderer>().material.color = Color.green; objSphere.transform.position = new Vector3(0,10,0); } if (GUILayout.Button (CubRotate)) { if(!isRotateCub) { isRotateCub = true; CubRotate="停止旋转方体"; }else { isRotateCub = false; CubRotate="开始旋转方体"; } } if (GUILayout.Button (SphereRotate)) { if(!isRotatreSphere) { isRotatreSphere = true; SphereRotate="停止旋转球体"; }else { isRotatreSphere = false; SphereRotate="开始旋转球体"; } }}
0 0
- Unity 3D第二更
- Unity 3D 第一更
- Unity 3D 第三更
- unity 3d学习第二天
- Unity 3D
- unity 3d 注意事项
- Unity 3d 摄像头
- Unity 3D 使用
- Unity 3D--PlayerPrefs
- Unity 3d
- Unity 3D俄罗斯方块
- unity 3d 多开
- UNITY 3D笔记
- Unity 3D接触
- unity 3d
- Unity 3D简介
- Unity 3D 琐记
- unity 3d 视频
- Thinkpadt450 win7下面禁用触摸板
- mongodb 内嵌文档多条件查询($elemMatch)
- Ubuntu 14.04下翻译软件的安装与比较
- Java的GC分代原理
- codeforces 225E E. Unsolvable(梅森素数+数学)
- Unity 3D第二更
- poi_日期格式
- ANDROID 工程导入报 NO RESOURCE FOUND 一类编译错误的解决
- 阴影box-shadow
- 面试题 - 字符串逆序
- 在基于docker的Hadoop集群上搭建Spark
- jquery封装 [返回顶部] 语句,简单调用即可
- 使用java代码判断用户使用哪种方式登录的。
- iOS开发UI篇—程序启动原理和UIApplication