原创 Java自帶容器類的equals和hashCode方法

在java中有三大主要的容器類:list,set和map。他們都是interface,在這三大容器類下面分別有AbstractList,AbstractSet和AbstractMap這三個抽象類去實現他們,他們幾乎實現了對應接口中的所有方

原创 Unity 2019.2中爲Sprite新引入的“Secondary Texture”中比較特殊的“Normal Map”和“Mask Texture”的簡介

目錄   下面是對2D精靈(Sprite)的“Secondary Texture”的一些解釋說明 下面是對2D精靈(Sprite)的“Secondary Texture”中的“Normal Map”和“Mask Texture”這兩種比較

原创 Unity 2019.3中爲Sprite新引入的“Secondary Texture”中比較特殊的“Normal Map”和“Mask Texture”的用法詳解

目錄 一、”Normal Map“的用法 二、”Mask Texture“的用法 三、如何在代碼中動態獲取或者設置2D精靈(Sprite)的“Mask Texture”和“Normal Map”? 在Unity的2D光照系統中,2D精靈(

原创 Unity通用渲染管線中的“2D Renderer”產生2D光照效果的原理是什麼?

在Unity 2019.2之前,我們無法在2D遊戲中像3D遊戲那樣添加任何的光源,那個時候如果想要實現在2D遊戲中添加光源的效果,那麼就需要自己寫非常複雜的Shader來實現。不過,在Unity 2019.2及以後的版本中,Unity官方

原创 Unity 2019.3中爲Sprite新引入的“Secondary Texture”中比較特殊的“Mask Texture”的作用及作用原理

“Mask Texture”的作用及作用原理 我們知道在Unity 2019.2版本中,官方引入了2D光照系統,和2D光照系統一同引入的就是“Secondary Texture”。我們現在可以給2D精靈(Sprite)添加多張貼圖,這些貼

原创 從C#中的多維數組談到內存中對於數據的存儲

從C#中的多維數組談到內存中對於數據的存儲1. C#中的二維數組這個是利用一維數組中保存數組元素來表示二維數組利用C#中原生支持的語法來創建二維數組2. 計算機中的內存架構C#中兩種方法創建多維數組時候在內存中的存儲情況3. 彩蛋

原创 關於Unity3D 2017.1.0f3 Personal的一個BUG

Unity Bug Report 如果使用Unity 2017.1.0f3 Personal,那麼可能會遇到一個bug(雖然遇到的機率很低),下面是Bug產生的代碼: using UnityEngine; public class Bug

原创 Java中Class類中兩個值得注意的進行類型動態轉換的方法

Java中的Class類有兩個重要的方法:cast()和asSubclass()。這兩個方法都是用於Class類進行運行時(run-time)階段的類型轉換的。下面來看看他們的定義和使用: 第一個方法asSubclass()   pu

原创 關於java中對象的序列化和反序列化的說明

其實現在很多資料和書籍講解java中的序列化和反序列化的知識都比較少了,其主要原因是這個機制並沒有XML和JSON那樣高效,而且它的跨平臺能力十分有限,所以下面的講解主要是拓展知識用的,如果你不想了解完全可以不看。 一.基本原理 在ja

原创 關於java中的線程和線程池的一點總結

1. 在java中我們如果想要監視應用程序對於計算機資源的使用情況,我們可以調用jdk自帶的工具jconsole。具體使用方法:首先運行java程序,並保證java程序在jconsole程序運行之前一直處於運行狀態(所以這個程序一般用於監

原创 List vs Array:誰適合做java中泛型對象的容器?

在java中,我們知道有兩大類線性的數據結構是數組(Array)和鏈表(主要是ArrayList和LinkedList)。對於一般的對象來說,我們可以選擇這兩類數據結構中的任何一種數據結構來存儲我們的對象。但是對於泛型對象,我們應該選擇哪

原创 關於Rigidbody,Collider和CharacterController三者之間的關係和用法的總結

Rule of Thumb Rigidbody:多用在“物體”上,因爲“物體”都是“死”的,他們的運動一般都是靠物理系統。所以對於Rigidbody的移動,不要用Translate(),要用各種“力”, 比如:Rigidbody的Add

原创 Implement a simple iterator using javascript (node.js)

The code is extremely simple, so just let the code tell you everything! One point need to be pointed out I made use of

原创 A Simple But Complete Implementation of Binary Search Tree

Binary Search Tree(BST)is a simple but complicated data structure. It can be modified dramatically to be a AVL or Black

原创 關於C#中const,readonly和static readonly的總結

我們在定義我們的常量的時候,優先選擇const,const的效率更高,如果const不能用,比如:我們不是用常數,而是用一個函數的返回值給常量初始化,那麼我們就使用static readonly。 例子:static readonly