- 精通Cocos2d-x游戲開發(fā)(進階卷)
- 王永寶
- 232字
- 2020-11-28 22:37:10
11.2 使用DrawNode繪制圖元
DrawNode是一個用于繪制圖元的Node類,使用DrawNode來繪制圖元比使用DrawingPrimitives提供的繪制接口輕松很多,因為省去了自定義一個節(jié)點類、添加渲染命令、實現(xiàn)渲染接口等煩瑣的步驟。只需要創(chuàng)建一個DrawNode對象,調用該對象繪制方法,并將它添加到場景中即可。
除了使用上更加簡單方便之外,DrawNode也比DrawingPrimitives提供的繪制接口更加高效,因為DrawNode內部實現(xiàn)了渲染批處理,在繪制大量圖元時會更加高效。
cpp-tests示例中的DrawNodeTest示例演示了如何使用DrawNode進行圖元渲染,以下是DrawNodeTest的關鍵代碼,比DrawPrimitivesTest要簡單得多。
DrawNodeTest::DrawNodeTest() { auto s = Director::getInstance()->getWinSize(); auto draw = DrawNode::create(); addChild(draw, 10); draw->drawPoint(Vec2(s.width/2-120, s.height/2-120), 10, Color4F(CCRANDOM_0_1(), CCRANDOM_0_1(), CCRANDOM_0_1(), 1)); }