arrow v4

2022-06-09  本文已影响0人  许彦峰

例子:普通路径的基础用法

local arrow = cc.CmdArrow:create();

arrow:addNormalPath(1, { cc.p(0, 0), cc.p(300, 300) });
arrow:addNormalPath(1, { cc.p(300, 0), cc.p(300, 300) });

arrow:rebuildVertexes();
scene:addChild(arrow);

例子:删除路径

local arrow = cc.CmdArrow:create();

arrow:addNormalPath(1, { cc.p(0, 0), cc.p(300, 300) });
local path = arrow:addNormalPath(1, { cc.p(300, 0), cc.p(300, 300) });
-- 删除路径
arrow:removePath(path:getID());

arrow:rebuildVertexes();
scene:addChild(arrow);

例子:同一组的多条路径合并

local arrow = cc.CmdArrow:create();

arrow:addNormalPath(1, { cc.p(0, 0), cc.p(300, 300) });
arrow:addNormalPath(1, { cc.p(300, 0), cc.p(300, 300) });

arrow:addNormalPath(1, { cc.p(330, 0), cc.p(300, 300) });
arrow:addNormalPath(1, { cc.p(400, 0), cc.p(300, 300) });

arrow:rebuildVertexes();
scene:addChild(arrow);

例子:不同组的路径不合并

local arrow = cc.CmdArrow:create();

arrow:addNormalPath(1, { cc.p(0, 0), cc.p(300, 300) });
arrow:addNormalPath(1, { cc.p(300, 0), cc.p(300, 300) });

arrow:addNormalPath(2, { cc.p(330, 0), cc.p(300, 300) });
arrow:addNormalPath(2, { cc.p(400, 0), cc.p(300, 300) });

arrow:rebuildVertexes();
scene:addChild(arrow);

例子:包围(需要至少2条路径)

local arrow = cc.CmdArrow:create();

arrow:addWrapPath(1, { cc.p(300, 300), cc.p(500, 500) });
arrow:addWrapPath(1, { cc.p(300, 600), cc.p(500, 500) });
arrow:addWrapPath(1, { cc.p(600, 300), cc.p(500, 500) });

arrow:rebuildVertexes();
scene:addChild(arrow);

例子

发现跟攻打目标存在关系

local c = 1;
arrow:addNormalPath(c, {A, C });
arrow:addNormalPath(c, {D, C });
arrow:addNormalPath(c, {E, C });

 local b = 2;
arrow:addNormalPath(b, {A, B });
上一篇下一篇

猜你喜欢

热点阅读