cocos2d-x3.0 RenderTexture(二)


.h

#include "cocos-ext.h"
#include "ui/CocosGUI.h"
#include "cocostudio/CocoStudio.h"
USING_NS_CC;

USING_NS_CC_EXT;
using namespace ui;

.cpp

   auto background = LayerColor::create(Color4B(200,200,200,255));
        addChild(background);
        
        
        auto s = Director::getInstance()->getWinSize();
        auto spr_premulti = Sprite::create("fire.png");
        spr_premulti->setPosition(Point(s.width/2-16, s.height/2+36));
        
        
        
        
        
        
        auto spr_nonpremulti = Sprite::create("fire.png");
        spr_nonpremulti->setPosition(Point(s.width/2-16, s.height/2-16));
//
//        /* A2 & B2 setup */
        //着色文理     create参数1、着色的宽 2、着色的高  3、颜色
        auto rend = RenderTexture::create(s.width, s.height, Texture2D::PixelFormat::RGBA8888);
        
        auto spr_size = spr_premulti->getContentSize();
        rend->setKeepMatrix(true);
        Size pixelSize = Director::getInstance()->getWinSizeInPixels();
        
        rend->setVirtualViewport(Point(0, 0), Rect(0, 0, s.width, s.height), Rect(0, 0, pixelSize.width, pixelSize.height));
        
        
        // It's possible to modify the RenderTexture blending function by
        //        [[rend sprite] setBlendFunc:(BlendFunc) {GL_ONE, GL_ONE_MINUS_SRC_ALPHA}];

        rend->begin();
        
        spr_premulti->visit();
        spr_nonpremulti->visit();
        rend->end();
        rend->setPosition(Point(s.width / 2 + 56, s.height / 2));
       
        addChild(spr_premulti);
        addChild(spr_nonpremulti);
       
        addChild(rend);
        


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜甲同学

感谢打赏,我会继续努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值