1.设置图标指针图片:
File->Build Settings ->Player Settings. 此时可将Inspector视图中default cursor(默认光标) 改成你想要的texture纹理。(这是更改整个场景的默认鼠标样式)
2.设置天空颜色:
camera中的clear flags设置为skybox,同时添加一个skybox的组件,添加custom skybox为自己想要的shader(着色器)。
3.Time.deltatime:
Time类包含了一个重要的类变量deltaTime,它表示距上一次调用Update或FixedUpdate所用的时间。如果想要一个值根据每帧的变化而变化(增加或减少) ,你应该使用 Time.deltaTime来乘以这个值。这样才能使得变化的效果依赖于单位时间,而不是帧频。这不仅使得游戏的运行独立于帧频,也使得运动的效果符合现实。
同理,要让灯光的照射范围在每秒使半径增加 2个单位,可进行如下编码:
function Update()
{
light.range += 2.0 * Time.deltaTime;
}
4.Unity 5的Enlighten被放在Window->Lighting菜单项下,并集成了原本的RenderSetting设置,所以你可以在Lighting选项卡内找到包含skybox或是即时或烘焙光源的设置.
5.注意:在inspector视图中,有一些脚本如果不展开的话,有些方法或者属性就不起作用了。
6.SlicedSprite九宫切图可以定义一个图片边框部分不被拉伸。
7.在Tween Alpha中Tweener 下面,player style可以控制渐变的效果(持续渐变或者是只是渐变一次等等)。
8.NGUI中invisible widget(隐藏部件)创建来放几个child按钮,以便对这几个按钮同时进行操作。
9.关于Gameobject 和Transform这两兄弟我转载了一篇博客。
9.关于游戏存档,利用playerprefs,转载了一篇博客。
10.对于NGUI,它带有一个UI Play Sound脚本,把它挂在一个按钮上,然后可以通过设置某个触发事件来播放音乐。
11.可以在game模式下调整位置信息等 然后复制一下(copy component),再在scene模式下粘贴(paste component values ).
12.Camera.main 第一个启用的被标记为“MainCanmera”的相机(只读),如果场景中没有相机返回Null.
13. offsetPosition.normalized表示单位向量。
14.offsetPosition.magnitude表示向量的长度。
15.function RotateAround (point : Vector3, axis : Vector3, angle : float) : void
按照angle度通过在世界坐标的point轴旋转物体。
简单的说,按照多少度在世界坐标的某位置轴旋转物体。
function Update() {
// Spin the object around the world origin at 20 degrees/second.
//围绕世界坐标原点,每秒20度物体自旋
transform.RotateAround (Vector3.zero, Vector3.up, 20 * Time.deltaTime);
}
16.Transform.Rotate 旋转
应用一个欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴(这样的顺序)。
gameObject.transform.Rotate(new Vector3(0,1,0),Input.GetAxis("Horizontal");//表示按下左右键围绕Y轴旋转
17.不要分别设置欧拉角其中一个轴(例如: eulerAngles.x = 10; ),因为这将导致偏移和不希望的旋转。当设置它们一个新的值时,要同时设置全部。Unity会从Transform.rotation这个四元组结构中转换角度到欧拉角的表达方式,或者反过来。
18.UICamera.hoveredObjec 判断鼠标是否位于UI界面的组件上(防止在点击UI界面时人物移动)
19.TweenPosition(位移动画)用法:
用法1.NGUI的控件从PosA位置移动到PosB位置,播放动画
用法2.在游戏中需要动态创建带有TweenPosition组件动画的对象,对象创建、移动、到达指定位置、销毁的过程。eg.游戏中玩家吃金币,迟到金币后转换为分数,分数播放一个TweenPosition组件动画,从玩家位置移动到分数标签位置,到达分数后,销毁。
questTween.PlayReverse(); //正着播放
questTween.PlayForward();//反着播放
20.更改某一物体上的图标样式:
- var cursorTexture : Texture2D;
- var cursorMode : CursorMode = CursorMode.Auto;
- var hotSpot : Vector2 = Vector2.zero;
- function OnMouseEnter () {
- Cursor.SetCursor(cursorTexture, hotSpot, cursorMode);
- }
- function OnMouseExit () {
- Cursor.SetCursor(null, Vector2.zero, cursorMode);
- }
using
UnityEngine;
using
System.Collections;
public
class
test2 : MonoBehaviour {
public
static
test2 instance;
// Use this for initialization
void
Awake () {
instance =
this
;
}
// Update is called once per frame
void
Update () {
}
}
OnMouseEnter() 当鼠标位于这个collider上时,会调用一次这个函数
23.Anchor 是NGUI中关于各种部件对齐的一个组件.
24.引进一个文本文件 public TextAsset objectsInfoListText。
25. Dictionary<int,ObjectInfo> 字典 根据前者去索引后者 ,
ObjectInfoDic.Add(id, info);// 添加到字典中 根据id查找到物品信息
ObjectInfo info = null;
ObjectInfoDic.TryGetValue(id, out info); //根据id去找info 找到返回true 否则返回false
26.基于UIDragDropItem脚本可以实现简单的控件拖拽
27.
C# String.split()用法小结
第一种方法
string s=abcdeabcdeabcde;
string[] sArray=s.Split('c') ;
foreach(string i in sArray)
Console.WriteLine(i.ToString());
输出下面的结果:
ab
deab
deab
de
第二种方法
我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字
符进行分割:
string s="abcdeabcdeabcde";
string[] sArray1=s.Split(new char[3]{'c','d','e'}) ;
foreach(string i in sArray1)
Console.WriteLine(i.ToString());
可以输出下面的结果
ab
ab
ab
28.int.Parse() 将数字的字符串表示形式转换成它的等效32位有符号整数。