BK.ClipNode 蒙版节点

蒙版/裁剪节点可实现蒙版和裁剪特性的节点

成员变量

变量 类型 名称 备注
inverted boolean 执行阈值向 默认为false。true时,取alpha 0-alphaThreshold值,false时取alphaThreshold-1值
alphaThreshold number 裁剪透明度的阈值

方法

构造函数 new BK.ClipNode(stencilSp)

参数 类型 名称 备注
stencilSp BK.Texture 蒙版纹理

使用方法

  • 新增一个模板纹理
  • 通过模板纹理创建蒙版节点
  • 加入一个叠加精灵
  • 设置叠加参数

    例子:

  1. //对应下图例1
  2. var wid = BK.Director.screenPixelSize.width
  3. var stencilTex = new BK.Texture("GameRes://texture/mask/mask1.png");
  4. var stencilSp = new BK.Sprite(wid, wid, stencilTex, 0, 1, 1, 1);
  5. var clipNode =new BK.ClipNode(stencilSp);
  6. var tex = new BK.Texture("GameRes://texture/icon.png");
  7. var sp =new BK.Sprite(wid,wid,tex,0,1,1,1);
  8. BK.Director.root.addChild(clipNode);
  9. clipNode.addChild(sp);
  10. clipNode.inverted = true;
  11. clipNode.alphaThreshold = 0.5;
  12. //对应下图例2
  13. var wid = BK.Director.screenPixelSize.width
  14. var stencilTex = new BK.Texture("GameRes://texture/mask/mask1.png");
  15. var stencilSp = new BK.Sprite(wid, wid, stencilTex, 0, 1, 1, 1);
  16. var clipNode =new BK.ClipNode(stencilSp);
  17. var tex = new BK.Texture("GameRes://texture/icon.png");
  18. var sp =new BK.Sprite(wid,wid,tex,0,1,1,1);
  19. BK.Director.root.addChild(clipNode);
  20. clipNode.addChild(sp);
  21. clipNode.inverted = false;
  22. clipNode.alphaThreshold = 0.5;

具体图示

蒙版节点的两个属性inverted与alphaThreshold用于决定蒙版区域。

 28 BK.ClipNode 蒙版节点  - 图1

实例代码

详细代码请参考BK.Script.loadlib("GameRes://script/demo/render/clip_node_demo.js");

原文: https://hudong.qq.com/docs/engine/api/BK.ClipNode.html