官术网_书友最值得收藏!

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));
        }
主站蜘蛛池模板: 嘉峪关市| 台南市| 嘉善县| 高要市| 阿坝县| 青铜峡市| 信丰县| 博野县| 噶尔县| 平遥县| 铜川市| 铜陵市| 南江县| 嵊州市| 信宜市| 黄山市| 石棉县| 深州市| 长子县| 永兴县| 方山县| 安龙县| 泽州县| 枞阳县| 太白县| 长治市| 乌兰浩特市| 裕民县| 稷山县| 富锦市| 金山区| 浦江县| 宁晋县| 额尔古纳市| 会昌县| 兴城市| 赤峰市| 花莲县| 于田县| 柳林县| 班玛县|