Unity操作小结

1、设置环境光:

Edit -> RenderSettings

Ambient Light设置环境光

 

2、关于AddComponent和Find组件的用处

AddComponent是在当前组件中没有该脚本的时候加上。
UserTracker =gameObject.AddComponent<OpenNIUserTracker>();

Find是在其他组件中有,先查找到,在添加获得该脚本。
UserTracker =GameObject.Find("Tracker").GetComponent<OpenNIUserTracker>();

 

3、关于gameobject的隐藏

transform.renderer.enabled =false;这个只能隐藏物体本身不能隐藏object下面的子物体,而且必须要有材质球。

gameObject.SetActiveRecursively(false);这个是将物体本身连同子物体一起隐藏。

 

4、关于报错:

Level 'DualCompeteGame' (-1) couldn't be loaded because it hasnot been added to the build settings.
To add a level to the build settings use the menuFile->Build Settings...
UnityEngine.Application:LoadLevel(String)

这个由于没有将进入场景放入Build Settings里面造成的。

 

5、使用ctil+7,可以显示出unity的进程。

 

6、Unity发射线

Physics.Raycast 光线投射
static function Raycast (origin : Vector3, direction : Vector3,distance : float

= Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) :bool

origin为发射线的世界坐标,例如:transform.position
direction为射线的方向,例如:transform.TransformDirection(Vector3.forward);
distance射线的长度。
layerMask为光线碰撞的层,
例如:RaycastHit hitInfo;
     public GameObject target;
     if(target == hitInfo.transform.gameObject)表示碰撞上了

 

7、PlayerPrefs 玩家偏好设置
可以理解为持久化储存,还可以理解为游戏存档
类函数:SetInt、GetInt、SetFloat、GetFloat、SetString、GetString等
例如:
PlayerPrefs.SetInt("GameModel", 0);
int GameModelchoose = PlayerPrefs.GetInt("GameModel");

 

9、设置游戏分辨率
Edit->Project Setting->Player

Default Screen Width  设置屏幕宽
Default Screen Height 设置屏幕高

 

10、如果材质球上已经进行了合成之后,修改其中的一张图片需要单独合成:

Tools->Bulid Altas for Material

 

11、常用脚本类型:
FixedUpdate()放置在此函数中的语句每间隔(固定的帧数)就被执行一次.一般用于强制Rigidbody(刚体)动作;
Awake() 脚本初始化时,该函数中的语句将被调用执行;
Start()在Awake()函数之后,Update()函数之前被调用。Start()函数和Awake()函数之间的不同就是Start()函数仅在可执行状态下才被调用;
OnCollisionEnter() 当脚本所附着的游戏物体被其他的游戏物体所冲撞时,函数内部的语句将被执行;
OnMouseDown()当游戏者移动鼠标经过一个游戏物体时,这个游戏物体可以是GUIElement(GUI元素)或者是碰撞体,执行单击动作,即可执行里面的脚本;
OnMouseOver() 当鼠标滑动过某个游戏物体时,如GUI元素或者碰撞体,函数内的脚本将被执行。

 

12、关于SendMessage的使用
使用SendMessage的时候,需要先找到接收的组件,然后在SendMessage参数里面放置调用的接口函数。
例如:
GameObject GameUI;
if (GameUI == null)
{
    GameUI =GameObject.Find("UIScript");
}
if (GameUI == null)
{
   Debug.Log("GmaeUI is notfind...............................");
}
GameUI.SendMessage("RightMove");

RightMove为UIScript里所挂脚本的函数,在这里进行回调。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值