所有文章
共 445 篇文章 ・ 第 23 / 25 頁
- 技術 C++
C++ 使用內建 GNU 編譯器或 Microsoft 編譯器
在不同的編譯器和作業系統上, 叫出 C++ 編譯器的指令都不同。 GNU 編譯器的預設指令是 g++ Mac: 在 Terminal環境下 $ g++ prog1.cpp -o prog1 $ 為系統提示號。 這個指令會生成一個 prog1 或 prog1.exe $ ./prog1 這指令可以執行對應生成的檔案 使用方式 g++ [option] filename 選項 -c : 只做編譯(不做
- 技術 C++
C++ 內建型別 (Built-in Type) 變數的初始化
C++ 內建型別會不會被自動初始化, 與它在哪裡被定義有關。 定義於函式主體外的任何變數都會獲得初值0。 定義於函式主體內的內建型別則無初值。 #include <iostream> using namespace std; int k; void printVal (){ // <- 所謂的函式主體 int i; cout<< i << endl; co
- 技術 C++
[ C++ ] 對整數型別賦值
基礎物件的型別決定了物件能夠存放的值。
- 技術 C++
[ Cocos2dx - C++] 編譯時間過長的解決方案
好吧, 萬一真的很懶散, 隨便寫程式, 要用什麼方式來解決這個問題!?
- 技術
Cocos2dx - Json檔案的讀寫
Json 檔案格式在 Cocos2dx 中有兩種方式可以操作 方法1: 透過 rapidjson Docs : https://code.google.com/p/rapidjson/wiki/UserGuide Headers : #include "json/rapidjson.h" #include "json/document.h" 範例讀檔 : std::string str = "{\
- 技術 cocos2d-x
Cocos2dx - Popup 實作小技巧
Popup 基本上就是在Scene 的最上層, 跳出一層對話框, 或者是轉圈圈的Loading小圖示等, Cocos2dx 有支援手機原生的對話框 - MessageBox。 MessageBox 相關文章 但如果要做一個較為精緻的遊戲 ex. Candy Crush, 客製化的 Popup是不可少的。 Trick1. 透過傳入 Scene node 建立 Popup 通常會先建立一個 單例 He
- 技術 cocos2d-x
Cocos2dx - Setter 以及 Getter 的用法
Setter 以及 Getter 是在將類別封裝時常使用的方式, 但針對每個變數實作Setter & Getter既繁瑣又麻煩, 所幸Cocos2dX 有實做出一組 Macro 可供開發者使用。 CC_SYNTHESIZE - 同時宣告Setter & Getter CC_SYNTHESIZE(<#varType#>, <#varName#>, <#f
- 技術 cocos2d-x
Cocos2dx - Singleton Class 範例
當系統中某項資源只有一個,而且絕對獨一無二時,最適合使用這個Pattern,也就是說使用這個Pattern可以確保物件個體只有一個,不會因programmer的疏忽而產生兩個或兩個以上。 Wiki - Singleton Setter & Getter CC_SYNTHESIZE 參考寫法 Singleton.h class Singleton { public: static Singl
- 技術 cocos2d-x
Cocos2dx - Spine 角色換裝備武器的方法
前幾天遊戲想要開發一個紙娃娃換裝備衣服的系統, 開始研究Spine的具體作法。 將心得整理如下: 技巧1. 關閉 or 隱藏關鍵的 Attachment spSlot *slot = animationNode->findSlot("SLOTNAME"); Slot_setAttachment(slot,0); 將Slot 的Attachment 設為零可以隱藏該Attachment。 技巧
- 技術 cocos2d-x
Cocos2dx - Sprite 更換圖片的方法
Cocos2dx 中 Sprite 的使用是很重要的一環, 其中關於換掉Sprite舊有圖片的做法有許多種。 網路上常見的兩種方法 參考連結 基本上網路上的做法為更換掉 Sprite 中的Texture, 或者將 SpriteFrame 中的DisplayFrame 換掉。 但必須得說, 這些做法都相對麻煩, 而且就效率來說與新建一張Sprite的成本, 差距不大。 於是有些時候我會採用下面的做法
- 技術 cocos2d-x
Cocos2dx - SpritePolygon, 產生 Sprite 的新方法
前一陣子看到的這個新玩意, 說新其實也不新了, 是v3.6 釋出的一個新類別, 目前經由實測後是相對穩定。 主要是透過 AutoPolygon 這個幫助類別, 來產生關於 Polygon 的資訊, 再丟入原先的Sprite類別繪製圖形。 // 自動產生多邊形的資訊 auto pinfo = AutoPolygon::generatePolygon("filename.png"); // 透過多邊形
- 技術 cocos2d-x
Cocos2dx - Unit Test中異步調用測試作法
需求: 在 Xcode 原生 Unit Test的架構中, 測試 C++程式碼中的網路調用API是否正確運行 無法使用 Obj-C 中 Block 作為異步調用的測試 (目前大部分 ios 開發的做法) 基本架構, 在 Unit test 函式中, 使用 while 迴圈以及控制Flag來強制函式停留在某個區塊 等到異步Callback 回傳時, 函式中更改 flag讓迴圈往下跑 test本體範例
- 技術 cocos2d-x
Cocos2dx - 事件 Event Dispatcher 的用法
事件分發器 (Event Dispatcher) 的機制是什麼? Event Dispatcher 是一種在Cocos2dx 偵測、回應使用者事件的機制。 透過 Event Listeners 去監聽使用者的事件, 基本上是透過 觀察者模式 實作此功能, Event Listeners也可以封裝對應事件處理的程式碼。 觀察者模式定義了物件之間的一對多關係,如此一來,當一個物件改變狀態,其他相依者都
- 技術 cocos2d-x
Cocos2dx - 使用 Parse 中 Rest 的方式
範例的 Project : Github 連結 : https://github.com/lenny0929/parseRest_WithCocos2dX/ Step1 建立對應的 Parse App 並設定好對應的資料格式 本範例為 testRest Step2 導入網路所需對應的header檔案 #include "network/HttpClient.h" using namespace c
- 技術 cocos2d-x
Cocos2dx - 使用 TextField 的小技巧
Cocos2dx 中的 TextField 並沒有很好使用, 文件中也有許多缺漏, 下面列出目前版本 (v3.7) 中的TextField 一些限制。 TextField 在用戶輸入時, 沒有在閃的鼠標 (Cursor), 所以實際使用情況會與 iOS 原生地Textfield 有所落差 TextField 沒有可以客製化的 Return 按鈕 無法選擇出現的 Keyboard 類型 那麼下面介紹
- 技術 cocos2d-x
Cocos2dx - 例外處理的方法
C++ 為主的例外處理 - throw exception double divide(double a, double b) { if (b == 0) { string error = "除法分母不得為0"; throw invalid_argument(error); } return a / b; } int main(void) { try { std::cout << di
- 技術 cocos2d-x
Cocos2dx - 傳入 Lambda 當作函式參數
自從 C++ 11 全面在 Cocos2dx 中使用後, 使得原本的Cocos2dx 更為強大, 其中筆者覺得造成改變最大的因素, 就有 Lambda 語法。 適用範圍: 任何想用 Lambda 當作 Callback 函式的時候 Step1: 搞清楚Lambda語法 是如何使用 C++ Lambda 語法簡介 Step2: 弄清楚C++ Function用法 C++ function 用法 St
- 技術
Cocos2dx 取得 Parse 中 Rest 的 Pointer 資料寫法
如果要取得 Parse 中物件的時候, 一般Cocos2dx 使用 Parse 中 Rest 的方式 就可以取得物件中的資料, 除了 Parse 中得 Pointer資料。 Pointer 通常使用在物件 1 對 1 的關係, 像是建立資料時, 有一部車的基本資料Table {車子型號, 車牌 Pointer, 顏色 ...}, 以及車牌 {縣市, 車牌號碼}, 就可以使用Pointer 將兩個資