clipping node

2023. 3. 14. 19:18cocos2dx

ClippingNode* CardArea;
Sprite* CardBack[3];
Texture2D* CardBackTexture;
Texture2D* CardFrontTexture;


//clipping node for cards
auto cardStencil = Sprite::create("cards/cardarea.png");
CardArea = ClippingNode::create();
CardArea->setStencil(cardStencil);
CardArea->setPosition(75, 190); //150 x 380
this->addChild(CardArea, 0);

//card back
auto TCache = Director::getInstance();
CardBackTexture = TCache->getTextureCache()->addImage("cards/back.png");
CardFrontTexture = TCache->getTextureCache()->addImage("cards/1/1/0000.png");
for (int i = 0; i < 3; i++)
{
CardBack[i] = Sprite::createWithTexture(CardBackTexture);
//CardBack[i]->setOpacity(50); //opacity 0~255
CardArea->addChild(CardBack[i]);
CardBack[i]->setPosition(0, -78 + 225 * i); //가운데 카드의 pos는 75, 190
}


cardStencil : stencil area. 이 부분이 clipping node내부에서 이미지가 드러날 부분
CardArea : clipping node 생성. 영역을 setStencil 으로 지정해 준다.
CardBack : clipping Node의 child로 지정. 3장의 카드가 움직이는데, area안에서만 움직이는게 보이고
            area를 벗어나면 안 보이게 처리가 될 예정이다.

'cocos2dx' 카테고리의 다른 글

애니메이션 재생후 셀프삭제, using schedule, CardinalSpline  (0) 2023.03.14
particle/using action function  (0) 2023.03.14
async loading  (0) 2023.03.14
save screenshot  (0) 2023.03.14
opencv -cocos2dx 연결  (0) 2023.03.14