unity3d--雜記
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位有符號整數。
相關文章
- unity3d--攝像機Unity3D
- unity3d--地形系統Unity3D
- html雜記HTML
- webserver 雜記WebServer
- oracle雜記Oracle
- cpp雜記
- Nodejs 雜記NodeJS
- HTTPS雜記HTTP
- 網路--------雜記
- 雜題記錄
- nginx聽課隨記雜記Nginx
- 雜記-本週工作記錄
- 前端模組化雜記前端
- React-Router 雜記React
- React-setState雜記React
- Linux雜記1Linux
- Linux雜記4Linux
- Linux雜記5Linux
- Linux雜記6Linux
- Linux雜記7Linux
- Linux雜記2Linux
- Linux雜記3Linux
- Web前端效能雜記Web前端
- RN 踩坑:雜記
- uvm學習雜記
- 資料庫雜記資料庫
- CefGlue 學習雜記
- rocketmq學習雜記MQ
- Perl指令碼 雜記指令碼
- oracle雜燴筆記Oracle筆記
- 【筆記】Tricks - 雜項筆記
- 3 月雜題記
- 數學雜記(技)
- 8 月雜題記
- Android 學習筆記雜記Android筆記
- 日常筆記大雜燴筆記
- 搭建前端私有npm雜記前端NPM
- 2024.9.2雜記