加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d实现刮奖效果

发布时间:2020-12-14 17:28:12 所属栏目:百科 来源:网络整理
导读:[cpp] view plain copy bool HelloWorld::init() { if (!Layer::init()) return false ; } SizevisibleSize=Director::getInstance()-getVisibleSize(); autosprite=Sprite::create( "HelloWorld.png" ); sprite-setPosition(Vec2(visibleSize.width/2,visib
[cpp] view plain copy
  1. boolHelloWorld::init()
  2. {
  3. if(!Layer::init())
  4. returnfalse;
  5. }
  6. SizevisibleSize=Director::getInstance()->getVisibleSize();
  7. autosprite=Sprite::create("HelloWorld.png");
  8. sprite->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2));
  9. this->addChild(sprite);
  10. dotNode=DrawNode::create();
  11. dotNode->retain();
  12. dotNode->drawDot(Point(0,0),4.0f,Color4F(255,255));
  13. autopBg=Sprite::create("bg.png");//这个作为当“油漆层”
  14. pBg->setAnchorPoint(Point(0.5,0.5));
  15. pBg->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2));
  16. pRender=RenderTexture::create(visibleSize.width,visibleSize.height);
  17. pRender->setPosition(Vec2(visibleSize.width/2,153);font-size:14px;border:none;background-color:inherit;">this->addChild(pRender);//渲染纹理层需加入该父节点层
  18. pRender->begin();
  19. pBg->visit();
  20. pRender->end();
  21. autolistener=EventListenerTouchOneByOne::create();
  22. listener->onTouchBegan=CC_CALLBACK_2(HelloWorld::onTouchBegan,this);
  23. listener->onTouchMoved=CC_CALLBACK_2(HelloWorld::onTouchMoved,153);font-size:14px;border:none;background-color:inherit;">this);
  24. listener->onTouchEnded=CC_CALLBACK_2(HelloWorld::onTouchEnded,0);background-color:inherit;">_eventDispatcher->addEventListenerWithSceneGraphPriority(listener,153);font-size:14px;border:none;background-color:inherit;">true;
  25. }

voidHelloWorld::onTouchMoved(Touch*touch,Event*unused_event)
  • autotouchPoint=touch->getLocation();
  • dotNode->setPosition(touchPoint.x,touchPoint.y);
  • //设置混合模式
  • BlendFuncblendFunc={GL_ONE,GL_ZERO};
  • dotNode->setBlendFunc(blendFunc);
  • //将橡皮擦的像素渲染到画布上,与原来的像素进行混合
  • pRender->begin();
  • dotNode->visit();
  • pRender->end();
  • 效果图:


  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读