首页 > 代码库 > cocos2d-x3.0 RenderTexture(二)
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);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。