原创 MojoJS-Animation:一個超級簡潔高效的JS動畫引擎,也是一個通用的Tween動畫框架

MojoJS-Animation是一個簡潔、高效、強大的開源JS動畫引擎(Github),其功能和實現有如下特點: 支持CSS Style和Transform動畫。 支持隊列和並發動畫。 支持多個元素的組動畫。 支持動畫延遲執行

原创 C# 管理類的訪問權限控制

C# 提供了internal關鍵來,來控制程序集的訪問權限。但如果不提供dll的分發形式,internal的價值就無法體現出來。 在管理類和被管理對象之間,常常需要互相訪問一些屬性,這就破壞了封裝性。因爲這些屬性,並不想被其它方法

原创 從面向對象角度(非__proto__角度),全面解讀——JS中函數與對象、Object與Function、以及原型鏈與繼承

本文,將會拋開__proto__的存在,轉而從JS語言面向對象設計的層面,去全面解讀函數與對象、Object與Function、以及原型鏈與繼承。 主題目錄如下: 類與對象的概念 JS中的對象 JS中的object JS中的函數

原创 「遊戲引擎Mojoc」(2)C代碼風格

代碼風格的問題,很微妙,也很有趣。因爲它並不影響代碼的運行和功能,但它連接着人的心靈和信仰。代碼風格目的簡單明確,就是增加代碼的可閱讀性,降低維護成本,減少心智負擔。糾結的地方在於,每個人對“可閱讀性”的理解和喜好不同。專注容易產

原创 No cached version of com.android.tools.build:gradle 3.6.1 available for offline mode解決方法

在Mac上的解決方法,按照以下步驟操作: 第一, 在項目的build.gradle中添加 classpath 'com.android.tools.build:gradle:3.6.1' 。 第二, 在gradle-wrapper

原创 C# unicode string 轉換 codepoint

C# 的string和StringBuilder都支持使用codepoint直接構造字符串。unicode的字符串形式一般都是’\u1234’這種轉義模式。 其中‘1234’就是unicode codepoint的16進制形式。

原创 Unity3D RectTransform使用詳解:佈局、屬性、方法

主要內容 佈局: Anchors,Pivot,Anchor Presets 屬性: anchoredPosition,anchoredPosition3D,offsetMax,offsetMin,sizeDelta,rect 方

原创 「遊戲引擎Mojoc」(3)C面向對象編程

用C語言進行面向對象編程,有一本非常古老的書,Object-Oriented Programming With ANSI-C。1994出版的,很多OOC的思想可能都是源於這本書。但我覺得,沒人會把書裏的模型用到實際項目裏,因爲過於

原创 XCode 調整工程目錄結構

使用XCode創建一個工程,有一個固定的目錄結構,比如建立工程Test,會得到Test -> Test + Test.xcodeproj 如下: 然後,在Test文件夾裏面,纔是項目的文件。 但,我不想嵌套那麼多層。尤其是,T

原创 「遊戲引擎Mojoc」(4)面向組件-狀態機-消息驅動3合1編程模型

實踐中,發現面向組件-狀態機-消息驅動,如果整合起來,能夠更加自然和簡單的進行抽象。這些都是以面向對象爲基礎,更進一步的抽象擴展。最初的靈感是在看這本書的時候產生的,Practical UML Statecharts in C/C

原创 IOS使用OpenAL播放音頻文件

本文介紹以下幾點內容: OpenAL API的使用介紹從IOS的mainBundle讀取載入音頻文件OpenAL結合平臺音頻解析類AudioToolbox實現播放聲音遇到和解決的問題首先,主要參考了,IOS開發官網的兩個demo,Open

原创 Unity3D ugui 界面狀態控制

在UI界面製作過程中,一些複雜的界面功能,常常會有不同狀態和結果的展現。比如,選項卡,物品道具的狀態信息,不同的描述信息和圖片等。通常的處理方法,是用代碼在不同的狀態下,控制不同元素的可見性。但具體到Unity裏,利用GameObject

原创 C# 二進制字節流讀寫封裝

完成以下功能: 只針對內存字節流的讀寫,主要應用於數據的解析和寫入。提供不同數據類型的讀寫接口,包括byte,short,int,float,string等。處理了大小端數據轉換的問題,所以可用於網絡數據的解析和發送。 using Sy

原创 Unity3D 使用DoTween配置界面元素動畫

首先抽象出單獨一個界面元素運動的屬性。 [Serializable] public class TweenPosition { public Transform target; p

原创 Android NDK 使用JNI調用java代碼,通用代碼封裝

本文主要介紹一下內容: 配合NDK NativeActivity封裝jni調用需要的環境參數獲取靜態和非靜態java方法信息的封裝調用靜態和非靜態java方法的封裝獲取apk簽名的jni調用封裝首先,我們需要獲取,jni最重要的環境對象