Unity函数:
function Start(){ }
function Update() { }
function OnGUI() { GUI.xxx }
如果在Update()函数里创建UI,会有如下报错: You can only call GUI functions form inside OnGUI。
隐藏鼠标指针 : Screen.showCursor = false;
局部变量不用声明可直接定义。
删除自己 Destroy(gameObject);
prefab物件的创建 Instantiate(obj,position,rotaion);
射线检测
1.射线:类型为 Ray,需要填充的两个属性为,起点(origin)方向(direction)。
2.检测(cast 投射):类型为 RaycastHit。作为一个输出变量,执行函数后,函数会将值写入此变量。
3.判定函数 Physics.Raycast( ray : Ray, out hitInfo : RaycastHit ); 返回值为boolean。
随后可以获取RaycastHit类型变量的成员,获取碰撞信息。
拾取
function Update ()
{
if (Input.GetMouseButton (0))
{
var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
var hit : RaycastHit;
if (Physics.Raycast (ray, hit))
{ Debug.DrawLine (ray.origin, hit.point); print(hit.collider.gameObject.name+hit.point); }
}
}
加载外部文件
var bbb : GameObject;
function Start ()
{
var www = new WWW ("file://D://pic1.jpg"这里也可以是网络图片地址);
yield www;
bbb.renderer.material.SetTexture("_MainTex", www.texture);
}
外部资源
var aaa : Material;//空材质
var bbb : GameObject;//要绑定材质的模型
function Start()
{
aaa.mainTexture = Resources.Load("你的资源名,例如“pic1”不需要文件扩展名");
bbb.renderer.material = aaa;
}
随机数 Random.Reange(min,max); 返回值为min、max之间的随机数。
读取场景
首先需要把需要响应的scene在 BuildSetting 里进行添加,每个scene后面会产生一个整形ID。 Application.LoadLevel(id);
物件自身在当前脚本里的对象名是 gameObject
trigger响应。trigger物件必须是unity的GameObject------Create Other 里选取的系统提供的物件,在Inspector面板里将物件的Box Coliider 下拉列表的IsTrigger选项勾选。在Tag选项里的Element后添加一个名字。其他物件通过此函数判断是否在trigger内。另:一定要记住,和trigger发生碰撞的物件,必须是 Rigibody。
function OnTriggerEnter(xxx:Collider)
{
if(xxx.gameObject.name == "TagName"){ wtf…………. }
}
调用其他脚本内容
脚本文件名.成员名; 被其它脚本调用的成员,必须声明为 static,包括数据成员和成员函数。