cocos2d-x 新手引導
阿新 • • 發佈:2019-01-17
總結了下,新手引導的要點有以下幾個:
- 畫面的變化.
- 觸控和按鈕響應.
- 邏輯處理及程式碼組織.
下面我們就詳細講述這幾個要點:
一.畫面的變化.
對個這個不同的遊戲的做法不盡相同,歸結起來大概有這麼幾種:
1.畫面整體變暗
這個比較簡單,cocos2d就有現成介面:
C++12345 | CCSize visibleSize=CCDirector::sharedDirector()->getVisibleSize();//第一個引數是顏色ccc4(r,g,b,a) a取值(0~255),越大越不透明 下面兩個引數為寬高,不傳預設為螢幕大小 |
效果如下:
然後你可以在這層之上新增精靈,最後的效果可能是這個樣子的:
注:圖片源自網路,如果有版權問題~你丫去死吧! 請聯絡我!
2.區域性高亮
比較簡單的方法是準備幾張張區域性高亮的圖片,隨著引導進度變化而切換!優點是可以做的比較精美,缺點是資源量會比較大!另一種方法是在畫面整體變暗的基礎上摳掉部分割槽域,還好cocos2d提供了CCClippingNode介面(2.1+版)!
CCClippingNode類比較複雜,但我們只用明白兩個東西就好:一個是CCClippingNode的Stencil,一個CCClippingNode的Child,怎麼理解呢?請看下圖:
這個東西相信大家都有印象吧,上面的圖案(鏤空部分)就是 CCClippingNode的Stencil(模板),實體部分就是CCClippingNode的child(底板),是不是很好明白,讓我們用程式碼來實現吧:
C++1 2 3 4 5 6 |
//建立cliper物件
CCClippingNode*pClip=CCClippingNode |
讓我來加入模板:
C++12345678910 | //建立drawnode物件CCDrawNode*m_pAA=CCDrawNode::create();staticccColor4F green={0,1,0,1};staticCCPoint rect[4]={ccp(-50,50),ccp(50,50),ccp(50,-50),ccp(-50,-50)};//用上面的資料儲存一個100x100的矩形m_pAA->drawPolygon(rect,4,green,0,green); |