Time of Update: 2018-12-04
工作以來一直比較忙,去年一直在開發跨平台手機遊戲,用的cocos2d-x,可能是公司開發的第一款手機遊戲,再加之今年年初家裡突出變故,我實在受不了了連續的加班外加項目前景暗淡,辭職。前不久去了新公司,從事了老本行,app開發,沒有了加班到深夜,沒有了周末的加班,突然感覺應該有點閑,做點什麼吧。之前一直是做的2d遊戲,不過去年就發現黑莓發布了一款開源的3D跨平台的手機遊戲引擎GamePlay3D,很強大,支援ios、android、黑莓、win7、Linux、Mac osX等。裡面的例子也很強大。
Time of Update: 2018-12-04
最近在用WinGW(GCC的WINDOWS版本)調試跨平台的C/C++程式,在連結程式的過程中,兩次寫錯了連結的檔案,一次是將.a的尾碼誤寫為.lib,第二次是將.a的尾碼誤寫為.dll,當時沒發現,等到一天的工作結束了,躺在床上才想起這個問題。 為什麼啊?連結的檔案都寫錯了,連結應該不能通過的,為什麼調試一天的程式都一切正常呢?難道MinGW可以與LIB檔案和DLL檔案直接連結? 於是今天專門做了測試。令人欣喜,的確是這樣的:MinGW在連結的時候,可以與.LIB檔案連結,
Time of Update: 2018-12-04
【說明:按照英文版的翻譯過來的,水平有限,難免有很多翻譯欠妥的地方,望諒解。突然發現裡面都是沒什麼用的廢話,就不繼續翻譯了。以後根據自己的學習情況,直接上筆記。實用又快速入門,有問題可以直接查閱官方文檔。——斷點的童話】概述GamePlay架構是一個開源、跨平台的遊戲架構。他是為了讓我們更簡單的學習使用原生態的C++開發3D移動和案頭遊戲。在這個開發指南中,我們包括了教會你在架構中從上層到底層的使用GamePlay的庫、工具和所有主要的API方法。這個指南介紹了一套你可以開發遊戲的C++類。設計
Time of Update: 2018-12-04
資源和打包(Assets and authoring)遊戲資源對於一個高品質的遊戲來說是非常重要的。這不只是說做出的遊戲資源要適合遊戲設計,而且他們需要在特定平台硬體的局限之下,高品質的快速的載入。二進位遊戲資源(Binary game assets)一個非常實用的確保你總是高效的方法就是捆綁和載入所有的遊戲資源為二進位形式。通常的資源套件括映像、字型、音效和3D情境。大多數遊戲引擎總是包含一些種類的打包(authoring)工具來允許開發人員編碼和處理他們的將要處理的內容。GamePlay架構
Time of Update: 2018-12-04
在GamePlay3D中,開發人員添加代碼的地方,主要是擴充Game類,寫一個繼承自Game的類,然後實現基本的方法:
Time of Update: 2018-12-04
今天嘗試寫用FireFox寫了一端AJAX調用的代碼:<script language="JavaScript">var obj = new XMLHttpRequest();var txt = document.getElementById("txtResult");try{ obj.open("GET", "http://localhost/TestWes/", false); obj.send(); //運行到這裡就是通不過 alert(obj.responseText);
Time of Update: 2018-12-04
如題,當雙方建立好通訊之後,用select方法監測通訊端的可讀,完全正常,但是如果有一方突然斷線,對方的select方法就會失效,不知道什麼原因?求解釋! 比如client端已經和serv段建立好串連了,serv方首先用select函數檢測通訊端是否可讀,可讀則用recv函數來接受訊息,client方用send發送訊息,此時client突然掉線,則serv方的select方法就會失效,即不再阻塞!
Time of Update: 2018-12-04
有這樣一個頁面,用瀏覽器輸入地址進去訪問能夠正常訪問,然後把URL放在<script src=""></script>標記的檔案位置中也能被當作指令碼來處理。下面是代碼:<!--alert(1);/*--><html><head></head><body><h1>aaaa</h1></body></html><!--*/-->
Time of Update: 2018-12-04
詩二首(一) 熊嗷,嗷,嗷…狗熊掉水溝;棕毛沉綠水,熊掌撥清波。賞析:本詩以簡潔精鍊的文字描寫了一隻狗熊掉進水溝裡面的情景。詩的第一句以一串擬聲詞描寫了狗熊的叫聲,聲情並茂地製造了讓觀眾繼續看下去的懸念;詩的第二句對第一句的懸念做了交代。觀眾首先會想,什麼東西嗷嗷叫呢?為什麼要叫呢?在哪裡叫呢?簡單的一句“狗熊掉水溝”,讓讀者明白了這一連串的問題:狗熊在叫,因為掉溝裡了所以才叫,在溝裡叫。在野生動物及其稀少的今天,看見狗熊是非常難得的,再看見狗熊掉進水溝更是更加的難得。當讀者為狗熊擔憂的時候,
Time of Update: 2018-12-04
加號(+)是BASE64編碼的一部分,而加號在QueryString中被當成是空格。 因此,當一個含有BASE64編碼的字串直接作為URL的一部分時,如果其中含有加號,則使用QueryString讀取時,再使用BASE64解碼就會發生錯誤。 解決的辦法有兩個:一是使用BASE64的字串作為URL的一部分是,使用UrlEncode一類的函數進行編碼;二是在接收BASE64字串後,使用Replace將字串中的空格替換成加號,然後再解碼。
Time of Update: 2018-12-04
相信高手們早已對這些工具很熟悉了,向更多新手推薦一下: C++注釋文檔產生工具:Doxygen :http://www.vckbase.com/code/softeng/engineering/doxygen.rar 源碼位置:http://down1.chinaunix.net//distfiles/doxygen-1.4.7.src.tar.gzJavaScript注釋文檔產生工具:JSDoc 下載位置:http://sourceforge.net/projects/
Time of Update: 2018-12-04
#include <stdio.h>// 模板,可以調用函數或者Functortemplate <typename Functor>void TestTemplate(Functor func)...{ func("TestTemplate");}// C函數風格void TestFunction(const char* str)...{ printf("TestFunction:%s
Time of Update: 2018-12-04
今天客服部的MM找到我,提出這樣一個問題:在EXCEL檔案中有一列的使用者的電話號碼,然後在另一個檔案夾中有大量以電話號碼命名的檔案,現在需要把一些使用者的電話號碼檔案給匹配出來。有幾千個檔案,匹配起來實在太累人了………… 本想寫一個程式來解決,後來想想,應該不用這麼麻煩。翻翻WINDOWS中命令的協助,寫了一行命令就搞定了。具體的操作是:1、先將需要匹配的使用者的電話號碼拷貝出來,儲存成一個文字檔,每個號碼一行;2、在開始->運行中輸入命令: for /F "" %i
Time of Update: 2018-12-04
當我問及一些同行的朋友對於伺服器程式中STL的使用方式的時候,他們都回答在自己公司的伺服器程式開發中,一般都不使用STL。 為何標準庫在伺服器程式開發環境中受到冷遇呢?我覺得在伺服器程式這種高穩定性、高效能、高並發的環境下,STL存在著三大問題。 問題一:不能確定STL如何管理記憶體。假設就按照STL預設的方法來管理內容,則伺服器在長時間的分配和釋放記憶體後,容易導致記憶體片段,對伺服器的穩定有影響。然而,如果沒有閱讀過STL的源碼,誰又能確切地得知STL是如何管理記憶體的呢?
Time of Update: 2018-12-04
寫以下程式:·JavaScript調用WebServices的函數庫;·更好的Ajax類,封裝XmlHttp對象,支援跨瀏覽器,當沒有XmlHttp對象時,自動使用IFrame代替;·根據.NET的WebMethod自動產生相應的JavaScript
Time of Update: 2018-12-04
先貼代碼:#include <stdio.h>template <int v>struct Int2Type...{ enum ...{ value = v };};void func(Int2Type<true>)...{ printf("true ");}void func(Int2Type<false>)...{ printf("false
Time of Update: 2018-12-04
多態都是在運行時實現的,C++中通過VPTR和VTABLE來提供運行時的動態調用;但是,VPTR和VTABLE的使用影響了效能。WTL中的一個技巧實現了類似多態的功能,並且不會影響效能。#include <stdio.h>template <typename SubClass>class Base...{public: void Run() ...{ SubClass* t = (SubClass*)this; t->
Time of Update: 2018-12-04
我們知道,使用宏可以實現條件編譯:#if 1 //do something#else //do something else#endif 使用模板也能夠達到類似的效果:#include <stdio.h>template <bool value>void func()...{ if (value) ...{ printf("true
Time of Update: 2018-12-04
這個發簡訊問題已經糾結筆者快兩個月了,陸陸續續產生一些奇怪的問題,這裡筆者對使用此模組要特別注意的地方進行一些總結和說明,希望用這個模組發簡訊的朋友們能夠從中得到參考,提高開發進度。 1.與MC8331A不同的是,MC8630是互動式發簡訊的。什麼意思? MC8331A是直接一條AT指令,過去,其中包括髮送簡訊的號碼,內容和長度,而8630則不是這樣,它是這樣: at^hcmgs="15868152889"CR //CR是斷行符號>
Time of Update: 2018-12-04
:R65是斷開的,R66 上接3.3V電壓,RX422T即發送端,與485TX複用,RX422R與485RX複用,電路本身並不難,也許你已經發現我要說的了。 DE和RO端隨時是連在一起的,但是和RS485_EN是斷開的,那麼怎麼來控制方向收發? 這個電路在邏輯上肯定是不行的,但是經過筆者驗證,這個電路是可行的!DE和RO段預設是低電平,模組處於接受狀態,而只要TX端的電平同時與DE,RE 相反就可以發送了。