cocos2.2版本点遮罩和scroview

<strong>introductionDesc是图片精灵;</strong>

 float w = 500;
    float h = 394;
    int bonusIndex = 0;
    float bonusDy = -38;
    float bonusX = w / 2;
    float bonusY = (ruleVec.size() + 1) * -bonusDy + introductionDesc->getContentSize().height * introductionDesc->getScale();<pre name="code" class="cpp">    float minY = 14;
    float maxY = 300;
    float ch = (bonusIndex) * -bonusDy + <span style="background-color: rgb(255, 0, 0);"><strong>introductionDesc</strong></span>->getContentSize().height * introductionDesc->getScale();
    float vh = maxY - minY;
    _scroll->setContentSize(CCSize(w,ch));
    _scroll->setViewSize(CCSize(w,vh));
    _scroll->setPosition(CCPoint(-w / 2, -h / 2 + minY));
    _scroll->setContentOffset(CCPoint(0,vh-ch));
    _scroll->setTouchPriority(kCCMenuHandlerPriority);

 
</pre>遮罩:<p></p><p style="margin-top:0px; margin-bottom:0px; font-family:Monaco"></p><p style="margin-top:0px; margin-bottom:0px; font-family:Monaco; color:rgb(49,89,93)"></p><pre name="code" class="cpp"><p style="margin-top: 0px; margin-bottom: 0px; font-family: Monaco; color: rgb(79, 129, 135);">CCSize <span style="color: rgb(49, 89, 93);">vsize = _cardBg->getPreferredSize();//设置要显示出来的尺寸</span></p>    float xstep = vsize.width*0.5f*_cardBg->getScale()-8*UIResolution::getScale();
    float ystep = vsize.height*0.5f*_cardBg->getScale();
    CCPoint pointvec[4] = {ccp(-xstep, -ystep),ccp(xstep, -ystep),ccp(xstep, ystep),ccp(-xstep, ystep)};
    auto stenclil = CCDrawNode::create();
    stenclil->drawPolygon(pointvec, 4, {1.0f,1.0f,1.0f,1.0f}, 1, {1.0f,1.0f,1.0f,1.0f});
    clip = CCClippingNode::create();
    clip->setPosition(CCPoint(UIResolution::physical().width/2,UIResolution::physical().height/2-40*UIResolution::getScale()));
    //    clip->setPosition(CCPoint(_cardBg->getPositionX(),_cardBg->getPositionY()));
    addChild(clip);
    clip->setStencil(stenclil);
然后把需要遮罩的东西添加到clip上面:

clip->addChild(_pageBglayer);




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值