unity3d 第十四天

来源:互联网 发布:淘宝自动上架软件 编辑:程序博客网 时间:2024/06/07 17:48

游戏脚本

创建游戏对象

Create_test.cs

using UnityEngine;using System.Collections;public class Create_test : MonoBehaviour {// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {}void OnGUI(){if (GUILayout.Button ("创建立方体", GUILayout.Height (50))) {GameObject objCube = GameObject.CreatePrimitive(PrimitiveType.Cube);objCube.GetComponent<Rigidbody>();objCube.name="Cube";objCube.GetComponent<Renderer>().material.color = Color.blue;objCube.transform.position = new Vector3(0.0f,10.0f,0.0f);}if (GUILayout.Button ("创建球体", GUILayout.Height (50))) {GameObject objSphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);objSphere. GetComponent<Rigidbody>();objSphere.name="Sphere";objSphere.GetComponent<Renderer>().material.color = Color.red;objSphere.transform.position = new Vector3(0.0f,10.0f,0.0f);}}}

创建对象完成了 但是添加的刚体属性不成立

objCube.GetComponent<Rigidbody>();
//objCube.AddComponent(Rigdbody)

还有

//objCube.renderer,material.color = Color.red;
objCube.transform.position = new Vector3(0.0f,10.0f,0.0f);

好像因为版本更新被替换了  也可能是我使用方法不对 明天查一查 睡觉

在unity3d5.0中 renderer后面不能使用material

需要通过GetComponent来获取组件

<pre name="code" class="csharp">GameObject objcub = GameObject.CreatePrimitive(PrimitiveType.Cube);  objcub.AddComponent<Rigidbody>();  objcub.name = "Cube";  //设置color 使用这个来获取material  objcub.GetComponent<Renderer>().material.color = Color.blue;  

例子
public class ExampleClass : MonoBehaviour  {      public Color colorStart = Color.red;      public Color colorEnd = Color.green;      public float duration = 1.0F;      public Renderer rend;      void Start()      {          //获取renderer组件          rend = GetComponent<Renderer>();      }      void Update()      {          float lerp = Mathf.PingPong(Time.time, duration) / duration;          //这里就可以使用material来设置颜色了          rend.material.color = Color.Lerp(colorStart, colorEnd, lerp);      }  }  

把objCube.GetComponent<Rigidbody>();修改为objCube.AddComponent<Rigidbody>();


0 0
原创粉丝点击