#include <RenderTextureTest.h>
|
| cocos2d::RenderTexture * | _target |
| |
| cocos2d::Vector< cocos2d::Sprite * > | _brushs |
| |
◆ RenderTextureSave()
| RenderTextureSave::RenderTextureSave |
( |
| ) |
|
Implementation of RenderTextureSave
在文件 RenderTextureTest.cpp 第 46 行定义.
48 auto s = Director::getInstance()->getWinSize();
51 _target = RenderTexture::create(s.width, s.height, backend::PixelFormat::RGBA8888);
53 _target->setPosition(Vec2(s.width / 2, s.height / 2));
59 auto listener = EventListenerTouchAllAtOnce::create();
61 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener,
this);
64 MenuItemFont::setFontSize(16);
70 auto menu = Menu::create(item1, item2, item3, item4, item5,
nullptr);
72 menu->alignItemsVertically();
void clearImage(cocos2d::Ref *pSender)
void onTouchesMoved(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
cocos2d::RenderTexture * _target
void saveImageWithNonPremultipliedAlpha(cocos2d::Ref *pSender)
void saveImageWithPremultipliedAlpha(cocos2d::Ref *pSender)
void addImage(cocos2d::Ref *sender)
void clearImageTransparent(cocos2d::Ref *sender)
static cocos2d::Vec2 rightTop()
引用了 _target, addImage(), clearImage(), clearImageTransparent(), onTouchesMoved(), VisibleRect::rightTop(), saveImageWithNonPremultipliedAlpha() , 以及 saveImageWithPremultipliedAlpha().
◆ ~RenderTextureSave()
| RenderTextureSave::~RenderTextureSave |
( |
| ) |
|
◆ addImage()
| void RenderTextureSave::addImage |
( |
cocos2d::Ref * |
sender | ) |
|
在文件 RenderTextureTest.cpp 第 149 行定义.
151 auto s = Director::getInstance()->getWinSize();
156 Sprite* sprite = Sprite::create(
"Images/test-rgba1.png");
157 sprite->setPosition(sprite->getContentSize().width + CCRANDOM_0_1() * (s.width - sprite->getContentSize().width), sprite->getContentSize().height + CCRANDOM_0_1() * (s.height - sprite->getContentSize().height));
引用了 _target.
被这些函数引用 RenderTextureSave().
◆ clearImage()
| void RenderTextureSave::clearImage |
( |
cocos2d::Ref * |
pSender | ) |
|
◆ clearImageTransparent()
| void RenderTextureSave::clearImageTransparent |
( |
cocos2d::Ref * |
sender | ) |
|
◆ CREATE_FUNC()
◆ onTouchesMoved()
| void RenderTextureSave::onTouchesMoved |
( |
const std::vector< cocos2d::Touch * > & |
touches, |
|
|
cocos2d::Event * |
event |
|
) |
| |
在文件 RenderTextureTest.cpp 第 170 行定义.
172 auto touch = touches[0];
173 auto start = touch->getLocation();
174 auto end = touch->getPreviousLocation();
181 float distance = start.getDistance(end);
184 int d = (int)distance;
186 for(
int i = 0; i < d; ++i)
188 Sprite * sprite = Sprite::create(
"Images/fire.png");
189 sprite->setColor(Color3B::RED);
190 sprite->setOpacity(20);
193 for (
int i = 0; i < d; i++)
195 float difx = end.x - start.x;
196 float dify = end.y - start.y;
197 float delta = (float)i / distance;
198 _brushs.at(i)->setPosition(Vec2(start.x + (difx * delta), start.y + (dify * delta)));
199 _brushs.at(i)->setRotation(rand() % 360);
200 float r = (float)(rand() % 50 / 50.f) + 0.25f;
204 _brushs.at(i)->setColor(Color3B(rand() % 127 + 128, 255, 255));
cocos2d::Vector< cocos2d::Sprite * > _brushs
引用了 _brushs , 以及 _target.
被这些函数引用 RenderTextureSave().
◆ saveImageWithNonPremultipliedAlpha()
| void RenderTextureSave::saveImageWithNonPremultipliedAlpha |
( |
cocos2d::Ref * |
pSender | ) |
|
在文件 RenderTextureTest.cpp 第 122 行定义.
124 static int counter = 0;
127 sprintf(png,
"image-no-pma-%d.png", counter);
129 auto callback = [&](RenderTexture* rt,
const std::string& path)
131 auto sprite = Sprite::create(path);
133 sprite->setScale(0.3f);
134 sprite->setPosition(Vec2(40.0f, 40.0f));
135 sprite->setRotation(counter * 3);
140 _target->saveToFileAsNonPMA(png, Image::Format::PNG,
true, callback);
143 Director::getInstance()->getRenderer()->render();
144 CCLOG(
"Image saved %s", png);
引用了 _target.
被这些函数引用 RenderTextureSave().
◆ saveImageWithPremultipliedAlpha()
| void RenderTextureSave::saveImageWithPremultipliedAlpha |
( |
cocos2d::Ref * |
pSender | ) |
|
在文件 RenderTextureTest.cpp 第 96 行定义.
98 static int counter = 0;
101 sprintf(png,
"image-pma-%d.png", counter);
103 auto callback = [&](RenderTexture* rt,
const std::string& path)
105 auto sprite = Sprite::create(path);
107 sprite->setScale(0.3f);
108 sprite->setPosition(Vec2(40.0f, 40.0f));
109 sprite->setRotation(counter * 3);
114 _target->saveToFile(png, Image::Format::PNG,
true, callback);
116 Director::getInstance()->getRenderer()->render();
117 CCLOG(
"Image saved %s", png);
引用了 _target.
被这些函数引用 RenderTextureSave().
◆ subtitle()
| std::string RenderTextureSave::subtitle |
( |
| ) |
const |
|
overridevirtual |
◆ title()
| std::string RenderTextureSave::title |
( |
| ) |
const |
|
overridevirtual |
◆ _brushs
| cocos2d::Vector<cocos2d::Sprite*> RenderTextureSave::_brushs |
|
private |
◆ _target
| cocos2d::RenderTexture* RenderTextureSave::_target |
|
private |
该类的文档由以下文件生成:
- /Users/yujizhu/Documents/Git/cocos2d-x-4.0/tests/cpp-tests/Classes/RenderTextureTest/RenderTextureTest.h
- /Users/yujizhu/Documents/Git/cocos2d-x-4.0/tests/cpp-tests/Classes/RenderTextureTest/RenderTextureTest.cpp