原创 位運算符的解析

因爲<<和>>除了一左一右外,別的都是一樣的,故只需用其中一個作說明 <<是二元操作符,<<是將第一個操作數按照第二個操作數指定的位數向左移動,第二個操作數的類型必須是一個int或具有向int的預定義隱式數值轉換的類型 當聲明重載C#移位

原创 NGUI與3d模型的問題

作爲一個做項目時經常碰到的問題,我想還是好好總結一下,所謂的”三明治“問題,就是在兩個NGUI的控件(widgetFront和widgetAfter)中間插入3D模型(model)。 目前我覺得比較靠譜的方法有兩個: 1.把三層剝離出來,

原创 實現mem_copy和mem_move

void* myMemoryCopy(const void* src, void* dst, unsigned int count) { char* charSrc = (char*)src; char* charDst = (ch

原创 Shader學習之能量場效果

從效果上看,該球體是半透明的,邊緣部分泛藍光,球體表面與其他物體相交的部分會高亮,處在球體內部的其他物體形狀抖動變化。 首先,邊緣部分泛藍光,根據觀察方向繪製,使用UnityWorldSpaceViewDir; 其次,相交部分高亮,計算

原创 渲染時Alpha是如何混合的?(附有UI灰色效果的shader)

在做遊戲過程中,多少都能聽到alpha blend,到底是如何混合呢,說是混合必然關係到兩個對象的混合,兩個對象是源顏色和目標顏色,混合公式是resultColor = srcColor * factor1 + desColor * fa

原创 <每日一算法>冒泡排序

void bubbleSort(char s[], int size) { for (int i = 0; i < size - 1; i++) { for (int j = 1; j < size - i; j++) {

原创 Lua實現隊列

Lua沒有實現面向對象的,自己修改爲原生寫法吧。 local Queue = Class('Queue') function Queue:ctor()     self.tab = {}     self.tail = 0 end fun

原创 如何使用svn的edit conflict解決file conflict

每次出現file conflict,這個文件總會牽扯到三個版本,working base(w,出現衝突之前服務器上最新的版本),mine(m,自己本地的版本,working copy)和their(t,被別人修改後並上傳服務器的版本),想

原创 今天看到了一段比喻抽象類和接口的文字,分享一下...(有修改)

1. 飛機會飛,鳥會飛,它們都實現了同一個接口“飛”的功能。但是,殲10屬於飛機抽象類,鴿子屬於鳥抽象類。 2.  鐵門和木門都是門(抽象類),你只說想裝個門,可我沒法給你裝,我不知道你要什麼樣的門(不能實例化),我可以給你裝鐵門或木門(

原创 C#,放一段有助大家理解類IEnumerator的Current屬性,MoveNext方法和yield的代碼

我是這樣理解的,IEnumerable就是一個容器,每次yield return就是一個元素,這樣就不難理解Current和MoveNext了 public class MyClass {     public static bool m

原创 MMO同步機制

最近在學習MMO類型遊戲的同步機制,先熟悉了最簡單也最常用的一種方法,並畫了流程圖分享給大家,

原创 delegate,Action和Func區別和用法

在程序開發裏,有一種很常見的思想,叫委託,顧名思義就是A委託B做A想做的事情,具體實現就是A定義好函數(實現A想做的),然後把該函數以一種特殊的形式告知B,B來調用,在.Net裏,這種特殊形式的實現方式有三種,delegate,Actio

原创 jdk 環境變量添加

JAVA_HOMEC:\Program Files\Java\jdk1.6.0_22path%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%

原创 分享一個改進後的冒泡排序算法(C#實現)

環境:windows 7,VS2010 關於冒泡算法的原理大家自行google吧!這裏就不講了,先說一下思路,對於某一次前後鄰居比較後交換,如果這次無發生交換,可以認爲順序已經就緒,如果發生交換,可以記錄下最後發生交換的位置,這個位置以後

原创 NGUI與3d模型的<三明治>問題

作爲一個做項目時經常碰到的問題,我想還是好好總結一下,所謂的”三明治“問題,就是在兩個NGUI的控件(widgetFront和widgetAfter)中間插入3D模型(model)。 目前我覺得比較靠譜的方法有兩個: 1.把三層剝離出來,