PuzzleSDK
MySprite类 参考
+ 类 MySprite 继承关系图:
+ MySprite 的协作图:

Public 成员函数

virtual void setProgramState (backend::ProgramState *programState) override
 
virtual void draw (Renderer *renderer, const Mat4 &transform, uint32_t flags) override
 

静态 Public 成员函数

static MySpritecreate (const std::string &spritefilename)
 

Protected 属性

CustomCommand _customCommand
 

详细描述

在文件 NodeTest.cpp964 行定义.

成员函数说明

◆ create()

static MySprite * MySprite::create ( const std::string &  spritefilename)
inlinestatic

在文件 NodeTest.cpp967 行定义.

968 {
969 auto sprite = new (std::nothrow) MySprite;
970 sprite->initWithFile(spritefilename);
971 sprite->autorelease();
972 auto program = backend::Program::getBuiltinProgram(backend::ProgramType::POSITION_TEXTURE_COLOR);
973 auto programState = new (std::nothrow) backend::ProgramState(program);
974 programState->autorelease();
975 sprite->setProgramState(programState);
976 return sprite;
977 }

被这些函数引用 CameraTest1::CameraTest1() , 以及 CameraTest2::CameraTest2().

+ 这是这个函数的调用关系图:

◆ draw()

void MySprite::draw ( Renderer *  renderer,
const Mat4 &  transform,
uint32_t  flags 
)
overridevirtual

在文件 NodeTest.cpp998 行定义.

999{
1000 const auto& projectionMat = Director::getInstance()->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION);
1001 auto mvpMatrix = projectionMat * transform;
1002 _customCommand.getPipelineDescriptor().programState->setUniform(_mvpMatrixLocation, mvpMatrix.m, sizeof(mvpMatrix.m));
1003 _customCommand.init(_globalZOrder, transform, flags);
1004 renderer->addCommand(&_customCommand);
1005}
CustomCommand _customCommand
Definition: NodeTest.cpp:982

引用了 _customCommand.

◆ setProgramState()

void MySprite::setProgramState ( backend::ProgramState *  programState)
overridevirtual

在文件 NodeTest.cpp986 行定义.

987{
988 Sprite::setProgramState(programState);
989 auto& pipelineDescriptor = _customCommand.getPipelineDescriptor();
990 pipelineDescriptor.programState = programState;
991
992 _customCommand.setDrawType(CustomCommand::DrawType::ARRAY);
993 _customCommand.setPrimitiveType(CustomCommand::PrimitiveType::TRIANGLE_STRIP);
994 _customCommand.createVertexBuffer(sizeof(V3F_C4B_T2F), 4, CustomCommand::BufferUsage::STATIC);
995 _customCommand.updateVertexBuffer(&_quad, 4*sizeof(V3F_C4B_T2F));
996}

引用了 _customCommand.

类成员变量说明

◆ _customCommand

CustomCommand MySprite::_customCommand
protected

在文件 NodeTest.cpp982 行定义.

被这些函数引用 draw() , 以及 setProgramState().


该类的文档由以下文件生成: