【Unity3D Script Keynote】
1、创建GameObject
if(GUILayout.Button("创建立方体",GUILayout.Height(50)))
{
//设置该模型默认为立方体
var objCube = GameObject.CreatePrimitive(PrimitiveType.Cube);
//给此对象添加一个刚体用于整理感应
objCube.AddComponent(Rigidbody);
//设置这个游戏对象的名称
objCube.name="Cube";
//设置此模型材质的颜色
objCube.renderer.material.color = Color.blue;
//设置此模型在坐标
objCube.transform.position = new Vector3(0.0f,10.0f,0.0f);
}
2、通过GameObject.Find可以获取实例引用:
//获取游戏对象
objCube = GameObject.Find("Cube");
objSphere = GameObject.Find("Object/Sphere");
3、通过GameObject.FindWithTag()可以获取标签对象,此方法只能获取第一个添加了些标签的对象。
4、FindGameObjectsWithTag()可以获取某一标签下的所有对象。对象标签可以动态修改:
//得到包含MyTag标签的游戏对象数组
var objs = GameObject.FindGameObjectsWithTag ("MyTag");
//将5号元素的标签修名称修改为TestTag
objs[5].tag = "TestTag";
5、发送消息
6、代码中使用Instantiate()方法克隆游戏对象。
//克隆一个obj的实例
var clone :GameObject = Instantiate(obj, obj.transform.position, obj.transform.rotation);
//5秒后销毁该实例,
Destroy (clone, 5);
7、添加/删除脚本组件。
if(GUILayout.Button("给立方体添加脚本组件",GUILayout.Height(50))){
//添加cube_script脚本
if(obj)
obj.AddComponent("cube_script");
} if(GUILayout.Button("删除立方体脚本组件",GUILayout.Height(50))){
//删除cube_script脚本
if(obj)
Destroy (obj.GetComponent ("cube_script"));
}
8、模型的旋转。
9、C#代码中类名必须与文件名一致,否则编译错误。
10、使用Time类:
void OnGUI()
{
GUILayout.Label("当前游戏时间:" + Time.time);
GUILayout.Label("上一帧所消耗的时间:" + Time.deltaTime);
GUILayout.Label("固定增量时间:" + Time.fixedTime);
GUILayout.Label("上一帧所消耗固定时间:" + Time.fixedDeltaTime);
}
11、获取随机数:
int a = Random.Range(0,100);
float b = Random.Range(0.0f,10.0f); Debug.Log("获取一个0-100之间的整形随机数" + a);
Debug.Log("获取一个0.0f-10.0f之间的浮点型随机数" + b);