zoukankan      html  css  js  c++  java
  • cocos2dx精灵裁剪显示ClippingNode

    ClippingNode(裁剪节点)可以用来对节点进行裁剪,可以根据一个模板切割图片的节点,生成任何形状的节点显示。


    使用示例

    1. auto bg = LayerColor::create(Color4B(255, 255, 255,255));  
    2.    this->addChild(bg, -1);//1  
    3.   
    4.    auto stencil = Sprite::create("CloseNormal.png");  
    5.    auto clipper = ClippingNode::create();  
    6.    clipper->setStencil(stencil);//设置裁剪模板 //3  
    7.    clipper->setInverted(true);//设置底板可见  
    8.    clipper->setAlphaThreshold(0);//设置绘制底板的Alpha值为0  
    9.    this->addChild(clipper);//4  
    10.   
    11.    auto content = Sprite::create("HelloWorld.png");//被裁剪的内容  
    12.    clipper->addChild(content);//5  
    13.   
    14.    clipper->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));  

    当clipper->setInverted(true);时显示的是底板中扣去模板的图像

    当clipper->setInverted(false);显示的是模板大小的图片,相当于底板的精灵只显示模板非透明区域的图像。


    所以当游戏中要显示圆形头像,不用再生成一套资源,只需一张实心圆形的图片作为模板图即可。

  • 相关阅读:
    523. Continuous Subarray Sum
    517. Super Washing Machines
    516. Longest Palindromic Subsequence
    486. Predict the Winner
    467. Unique Substrings in Wraparound String
    474. Ones and Zeroes
    语法小结
    互评作业:使用数组
    466. Count The Repetitions
    1052 卖个萌 (20 分)
  • 原文地址:https://www.cnblogs.com/Anzhongliu/p/6091846.html
Copyright © 2011-2022 走看看