發表文章

目前顯示的是 2013的文章

[Android]讓物件持續旋轉不停頓

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/linear_interpolator">     <rotate     android:duration="360"     android:fromDegrees="0"     android:pivotX="50%"     android:pivotY="50%"     android:repeatCount="infinite"     android:toDegrees="360"/> </set> 加入android:interpolator="@android:anim/linear_interpolator"就不會有停頓。 參考資料: http://www.techques.com/question/1-8648662/How-to-remove-lag-when-Rotate-Animation-repeats-on-Android

[Android]Facebook 登入

首先下載Facebook的SDK:https://developers.facebook.com/docs/android/ 匯入到新專案之後 1.打開res/values/string.xml加入<string name="app_id">AppID</string> 2.打開AndroidManifest.xml 加入<uses-permission android:name="android.permission.INTERNET"/> 3.並新增一個Activity  <activity android:name="com.facebook.LoginActivity" />         <meta-data android:name="com.facebook.sdk.ApplicationId"                   android:value="@string/app_id"/> 4.在onActivityResult上加入如下   protected void onActivityResult(int requestCode, int resultCode, Intent data) {                super.onActivityResult(requestCode, resultCode, data); if(resultCode == RESULT_OK) { switch (requestCode) { case 64206: Session.getActiveSession().onActivityResult(MainActivity.this, requestCode, resultCode, data);

[Unity]Excel存TXT給Unity讀取

public TextAsset binAsset;//TXT檔 private string [] lineArray; //讀取列 private string [][] valueArray; //儲存所有資料 void Start() {       lineArray = binAsset.text.Split ("\r"[0]); // 以\r做為一個段落       valueArray = new string [lineArray.Length][];         for(int i =0;i < lineArray.Length; i++)         {             valueArray[i] = lineArray[i].Split ("\t"[0]); // 以\t為一個資訊         } } 透過Excel填入的資訊再儲存成TXT檔,再把TXT檔丟到Unity給TextAsset,再由以上的程式去讀取。

HSV轉Color

public static Color ColorFromHSV(float h, float s, float v, float a = 0) {         // no saturation, we can return the value across the board (grayscale)         if (s == 0)             return new Color(v, v, v, a);         // which chunk of the rainbow are we in?         float sector = h / 60;         // split across the decimal (ie 3.87 into 3 and 0.87)         int i = (int)sector;         float f = sector - i;         float p = v * (1 - s);         float q = v * (1 - s * f);         float t = v * (1 - s * (1 - f));         // build our rgb color         Color color = new Color(0, 0, 0, a);         switch(i)         {             case 0:                 color.r = v;                 color.g = t;                 color.b = p;                 break;             case 1:                 color.r = q;                 color.g = v;                 color.b = p;                 break;             case 2:                 colo

[Unity]本機時間

System.DateTime 時間宣告型態 System.TimeSpan 時間差距宣告型態 System.DateTime.Now 取得現在時間(long型態)

[Unity]編譯順序與Script物件模型

圖片
當 Unity 編譯程式碼時: 1. "Standard Assets" 以及 "Pro Standard Assets" 以及 "Plugins" 資料夾內的程式碼會優先編譯 2. "Standard Assets/Editor" 以及 "Pro Standard Assets/Editor" 以及 "Plugins/Editor" 會第二順位編譯 3. 所有不是放在 "Editor" 資料夾的程式碼第三順位編譯 4. 最後編譯所有放在 "Editor" 資料夾內的程式碼   從這個類別圖我們可以理解它的結構,及如何把一些常用功能映射至這系統裡,以下分節討論。 GameObject 和 Component Unity 的執行環境裡,會有一個場境 (Scene) 。這個場境包含一個 GameObject 物件的層階 (Hierarchy) 。 這個 GameObject 類別只是一個包容器,本身沒有其他功能。使用者需要為 GameObject 加入各種 Component 物件來定義它的行為,而不是透過繼承 (inherit) GameObject 來加入 行為。 一個物件可擁有多個 Component 物件,但有一些 Component 類別只可以在一個 GameObject 中有一個實體 (instance) 。 MonoBehavior 我最感興趣的,是使用者如何自行定義行為來做出不同的 Gameplay 。在 Unity 中,程式員編寫的 Script ,其實也是 Component 的一種,所有的 Script 都會繼承自 MonoBehavior 類別。以下是一個簡單例子 : var speed = 5.0 ; function Update () {     var x = Input. GetAxis ( "Horizontal" ) * Time. deltaTime * speed ;     var z = Input.

[Unity]GUI打字效果

public float letterPause = 0.2f; public AudioClip sound; private string word; public string text; void Start () { word = text; text = ""; } void Update () { if(Input.GetMouseButtonDown(0)) { StartCoroutine("TypeText"); } } void OnGUI() { GUI.Label (new Rect(100,75,250,25),"Please answer my question,who am I?"); GUI.Box (new Rect(100,100,250,25),text); } IEnumerator TypeText() { foreach(char letter in word.ToCharArray()) { text+=letter; if(sound) audio.PlayOneShot(sound); yield return new WaitForSeconds(letterPause); } }