Time of Update: 2018-12-05
歡迎轉載:http://blog.csdn.net/fylz1125/article/details/8521997這篇寫cocos2d-x的構造器。cocos2d-x引入自動釋放機制後,建立的對象就不需要我們像C++編程那樣自己delete了。但是怎麼讓自己的類也能保持cocos2d-x的風格呢?或者說怎麼樣才能讓自己的類執行個體也能自動釋放。在cocos2d-x裡面大量用到了一個叫create()方法(2.1.0版本)。幾乎所有的實體類都會用這個create函數來產生執行個體而不是他們的建構
Time of Update: 2018-12-05
歡迎轉載:http://blog.csdn.net/fylz1125/article/details/8524081遊戲邏輯其實就像拍攝一部電影,整個過程都由導演來驅動。遊戲中的一個一個關卡,一個一個情境都跟電影中類似。每一個情境都有一些特定的元素,比如林衝風雪山神廟這個情境,大環境就是一個大風雪的夜晚,一個銀裝素裹的破敗山頭,有一個破敗的山神廟,當然還可以有一些其他的元素,比如火光,野狼,燈光,
Time of Update: 2018-12-05
歡迎轉載:http://blog.csdn.net/fylz1125/article/details/8533970吐槽一下,剛寫了一個小時,這CSDN不知抽什麼風就是發不了,我以為存草稿了就重新整理了一下,結果沒存草稿。擦...cocos2d-x引擎實現的情境切換特效有41個,我這裡就不列舉了。有興趣的童鞋自行看源碼或Google之,一大把介紹的。昨天看了紅孩兒的情境切換,寫的很詳細,代碼逐行注釋。我這裡不想詳細解釋代碼,只側重流程。cocos2d-x裡面的情境,分為兩類1.普通情境,就是CC
Time of Update: 2018-12-05
1. Spring Framework J2EE架構 http://www.springframework.org/ 2. Struts WEB架構 http://struts.apache.org/ 3. Hibernate 持久化 http://www.hibernate.org/ 4. WebWork WEB架構
Time of Update: 2018-12-05
像素(Pixel):物理座標(也叫裝置座標)。磅(Point):邏輯座標(也叫文檔座標),在Windows中被定義為1/72英寸。 DPI: Dots Per Inch,單位面積內像素的多少,也就是掃描精度。一般小字型為96,大字型為120.即1英寸=96像素。如:我們常說的“宋體,9”,表示的單位其實是磅,也就是 9 磅的宋體。 我們來換算一下。在小字型的時候,解析度是 96dpi,也就是說一英寸能顯示 96 個像素;9 磅是 1/8 英寸,所以 96/8=12
Time of Update: 2018-12-05
歡迎轉載:http://blog.csdn.net/fylz1125/article/details/8543759上一篇文章寫了情境轉場效果的實現。大家知道實質上是實現的CCTransitionScene的onEnter函數,給自己要載入的情境加了一些動作而已。(文章最後面有代碼地址哦)不過我覺得還是有必要寫個執行個體來示範一下。看圖,懶的錄視頻了:這是我寫的一個類似滑動門效果。class CCTransitionSlider : public CCTransitionScene ,
Time of Update: 2018-12-05
歡迎轉載:http://blog.csdn.net/fylz1125/article/details/8546607cocos2d-x中有大量的回呼函數的應用,主要有以下幾類,看下CCObject.h中的定義typedef void (CCObject::*SEL_SCHEDULE)(float);// 用來調updatetypedef void (CCObject::*SEL_CallFunc)();// 用來自訂無參回調typedef void
Time of Update: 2018-12-05
今天用mac用sed寫幾個文本替換,用-i參數原地替換,發現不行。糾結了一下。man sed發現 -i 需要帶一個字串,用來備份源檔案,這個字串加在源檔案名稱後面組成備份檔案名。如果這個字串長度為0,就是說是個空串,那麼不備份。呵呵,還真有意思。sed -i "bs" 's/Atl/Dog/g' example.txt這樣會產生一個example.txtbs的備份檔案。如果不備份,直接給個空sed -i "" 's/Atl/Dog/g' example.txt但是,不能省略。呵呵...
Time of Update: 2018-12-05
歡迎轉載,請註明地址:http://blog.csdn.net/fylz1125/article/details/8558956項目地址:https://github.com/fylz1125/MoonWarriors這個項目本來就是我學習cocos2d-x的一個項目,一開始就準備開源的。只是因為其中有些問題沒有解決,現在還會偶爾崩潰再加上最近找工作比較忙,所以沒有弄。另外,談談本人的學習經曆:對於語言,我是各種語言都懂,Java/C/C++/Objective-C/js/lua/Ruby等。我
Time of Update: 2018-12-05
cocos2d-x中預設的視窗背景色是黑色的。這個貌似因為opengl的預設初始化顏色就是黑色。既然是opengl渲染的,那麼初始化的顏色一定是用gl函數處理的,如下glClearColor(0.0f, 0.0f, 0.0f, 1.0f);搜尋之,找到一個void CCDirector::setGLDefaultValues(void){ // This method SHOULD be called only after openGLView_ was initialized
Time of Update: 2018-12-05
bool AppDelegate::applicationDidFinishLaunching(){ // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView()); // enable High Resource Mode(2x, such as
Time of Update: 2018-12-05
歡迎轉載,地址:http://blog.csdn.net/fylz1125/article/details/8631783好吧,終於抽時間寫這篇文章了。手頭上有很多人物行走圖,技能特效圖等,但這些圖都有個純黑色背景,怎麼樣將內容顯示出來,讓背景透明呢?前段時間搞了一下,感謝群裡的童鞋們,提供了思路和方法。這裡用shader處理了像素,使黑色背景透明,直接上代碼ShaderSprite.h#ifndef __TestShader__ShaderSprite__#define
Time of Update: 2018-12-05
歡迎轉載:http://blog.csdn.net/fylz1125/article/details/8487390學cocos2d-x一段時間了,感覺沒什麼條理。沒有項目做,學起來感覺效果不好。看了源碼的一些代碼,研究了test的代碼,也找了一些文章來看,但總感覺還是差點什麼。個人認為學東西還是做做項目比較有感覺。比如cocos2d-x,看的再多,研究的再多,老是寫寫demo不動手做項目,心裡總是不踏實。而且很多問題,不做項目的話就沒有具體問題,沒有具體的解決方案,就不會對問題理解深刻。coc
Time of Update: 2018-12-05
在Lua中for語句跟其他語言的for類似,文法上有一點點區別。Lua的for語句有兩種:數字型和泛型數字型:for var=exp1,exp2,exp3 do <執行體>endvar從exp1變化到exp2,每次變化以exp3為步長遞增var,並執行一次“執行體”。exp3是可選的,如果不指定,預設為1。例如for i=1,f(x) do print(i) endfor i=10,1,-1 do print(i)
Time of Update: 2018-12-05
本地是php+mysql+apache的環境。也可以用xampp一鍵安裝的東西,那個貌似比較省事。因為我的本地php環境已經裝好了,就直接下了discuz的代碼安裝。開啟web共用將discuz代碼拷貝到Sites目錄下。discuz下的upload目錄是要傳到伺服器的目錄,這裡直接放在Sites目錄下,可以改名為bbs什麼的。在mac下需要修改讀寫權限,不然無法訪問。cd到~/Sites目錄下將discuz的目錄修改讀寫權限chmod a+x discuzcd 到~/Sites/discuz/
Time of Update: 2018-12-05
UITableView 返回的當前行是 NSIndexPath 怎麼移動到下一行呢?1。 直接調用沒有這樣的函數,所以只能擷取當前indexPath的 indeces,這個就是IndexPath的本質資料。這裡indeces是使用的 C array方式存放的 (文檔是這麼寫的)NSUInteger* indeces = (NSUInteger*) malloc([currentIndexPath length] * sizeof(NSUInteger)); memset(indeces,
Time of Update: 2018-12-05
歡迎轉載:http://blog.csdn.net/fylz1125/article/details/8521272這篇寫寫自動對象的釋放時機。一個對象調用autorelease()函數後就被加入自動釋放池,那麼它什麼時候被釋放呢?我從前面說過的遊戲主迴圈開始跟進:int CCApplication::run(){ if (applicationDidFinishLaunching()) { [[CCDirectorCaller
Time of Update: 2018-12-05
bit={data32={}} for i=1,32 do bit.data32[i]=2^(32-i) end function bit:d2b(arg) --bit:d2b local tr={} for i=1,32 do if arg >= self.data32[i] then tr[i]=1 arg=arg-self.data32[i] else
Time of Update: 2018-12-05
這個模式的最主要的作用是可以 擴充被裝飾者的 狀態和行為。很酷吧。這樣,可以在不修改被裝飾者的類的情況下,來擴充行為和狀態。這也是一種退化的組合模式。對於裝飾者還有另外一個名字叫 wrapper封裝者,將一個類封裝成另外一個類,具有某些特別功能的類。這裡不要和adapter適配者弄混淆,雖然都是改變原有類的介面,但是
Time of Update: 2018-12-05
#import <Foundation/Foundation.h>#import "A.h"@interface B : NSObject { A* m_a; }@property (nonatomic, retain) A* m_a;- (void) test;@end#import "B.h"@implementation B@synthesize m_a;- (void) test{ A* pa = self.m_a; NSLog(@"%@", [pa