#include <ShaderTest.h>
◆ ShaderRetroEffect()
| ShaderRetroEffect::ShaderRetroEffect |
( |
| ) |
|
◆ CREATE_FUNC()
◆ init()
| bool ShaderRetroEffect::init |
( |
| ) |
|
|
overridevirtual |
在文件 ShaderTest.cpp 第 602 行定义.
604 if( ShaderTestDemo::init() ) {
606 auto fragStr = FileUtils::getInstance()->getStringFromFile(FileUtils::getInstance()->fullPathForFilename(
"Shaders/example_HorizontalColor.fsh"));
607 char * fragSource = (
char*)fragStr.c_str();
609 auto program = backend::Device::getInstance()->newProgram(positionTextureColor_vert, fragSource);
610 auto p =
new backend::ProgramState(program);
611 auto director = Director::getInstance();
612 const auto& screenSizeLocation = p->getUniformLocation(
"u_screenSize");
613 const auto& frameSize = director->getOpenGLView()->getFrameSize();
614 float retinaFactor = director->getOpenGLView()->getRetinaFactor();
615 auto screenSizeInPixels = frameSize * retinaFactor;
616 p->setUniform(screenSizeLocation, &screenSizeInPixels,
sizeof(screenSizeInPixels));
618 auto s = director->getWinSize();
620 _label = Label::createWithBMFont(
"fonts/west_england-64.fnt",
"RETRO EFFECT");
621 _label->setAnchorPoint(Vec2::ANCHOR_MIDDLE);
622 _label->setProgramState(p);
625 _label->setPosition(Vec2(s.width/2,s.height/2));
630 CC_SAFE_RELEASE(program);
引用了 _label.
◆ subtitle()
| std::string ShaderRetroEffect::subtitle |
( |
| ) |
const |
|
overridevirtual |
◆ title()
| std::string ShaderRetroEffect::title |
( |
| ) |
const |
|
overridevirtual |
◆ update()
| void ShaderRetroEffect::update |
( |
float |
dt | ) |
|
|
overridevirtual |
在文件 ShaderTest.cpp 第 637 行定义.
640 int letterCount =
_label->getStringLength();
641 for (
int i = 0; i < letterCount; ++i)
643 auto sprite =
_label->getLetter(i);
644 if (sprite !=
nullptr)
646 auto oldPosition = sprite->getPosition();
647 sprite->setPosition(Vec2( oldPosition.x, sinf(
_accum * 2 + i/2.0) * 20 ));
650 float scaleY = ( sinf(
_accum * 2 + i/2.0 + 0.707) );
652 sprite->setScaleY(scaleY);
引用了 _accum , 以及 _label.
◆ _accum
| float ShaderRetroEffect::_accum |
|
protected |
◆ _label
| cocos2d::Label* ShaderRetroEffect::_label |
|
protected |
该类的文档由以下文件生成:
- /Users/yujizhu/Documents/Git/cocos2d-x-4.0/tests/cpp-tests/Classes/ShaderTest/ShaderTest.h
- /Users/yujizhu/Documents/Git/cocos2d-x-4.0/tests/cpp-tests/Classes/ShaderTest/ShaderTest.cpp