PuzzleSDK
RenderTextureZbuffer类 参考

#include <RenderTextureTest.h>

+ 类 RenderTextureZbuffer 继承关系图:
+ RenderTextureZbuffer 的协作图:

Public 成员函数

 CREATE_FUNC (RenderTextureZbuffer)
 
 RenderTextureZbuffer ()
 
void onTouchesMoved (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
 
void onTouchesBegan (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
 
void onTouchesEnded (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
void renderScreenShot ()
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual Type getTestType () const
 
virtual float getDuration () const
 
virtual std::string getExpectedOutput () const
 
virtual std::string getActualOutput () const
 
virtual void restartTestCallback (cocos2d::Ref *sender)
 
virtual void nextTestCallback (cocos2d::Ref *sender)
 
virtual void priorTestCallback (cocos2d::Ref *sender)
 
virtual void onBackCallback (cocos2d::Ref *sender)
 
void setTestSuite (TestSuite *testSuite)
 
TestSuitegetTestSuite () const
 
float getRunTime () const
 
void setTestCaseName (const std::string &name)
 
std::string getTestCaseName () const
 
const cocos2d::Label * getSubtitleLable () const
 
const cocos2d::MenuItemImage * getRestartTestItem () const
 
virtual void onEnter () override
 

Private 属性

cocos2d::SpriteBatchNode * mgr
 
cocos2d::Sprite * sp1
 
cocos2d::Sprite * sp2
 
cocos2d::Sprite * sp3
 
cocos2d::Sprite * sp4
 
cocos2d::Sprite * sp5
 
cocos2d::Sprite * sp6
 
cocos2d::Sprite * sp7
 
cocos2d::Sprite * sp8
 
cocos2d::Sprite * sp9
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

详细描述

在文件 RenderTextureTest.h66 行定义.

构造及析构函数说明

◆ RenderTextureZbuffer()

RenderTextureZbuffer::RenderTextureZbuffer ( )

Implementation of RenderTextureZbuffer

在文件 RenderTextureTest.cpp283 行定义.

284{
285 auto listener = EventListenerTouchAllAtOnce::create();
286 listener->onTouchesBegan = CC_CALLBACK_2(RenderTextureZbuffer::onTouchesBegan, this);
287 listener->onTouchesMoved = CC_CALLBACK_2(RenderTextureZbuffer::onTouchesMoved, this);
288 listener->onTouchesEnded = CC_CALLBACK_2(RenderTextureZbuffer::onTouchesEnded, this);
289 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
290
291 auto size = Director::getInstance()->getWinSize();
292 auto label = Label::createWithTTF("vertexZ = 50", "fonts/Marker Felt.ttf", 64);
293 label->setPosition(Vec2(size.width / 2, size.height * 0.25f));
294 this->addChild(label);
295
296 auto label2 = Label::createWithTTF("vertexZ = 0", "fonts/Marker Felt.ttf", 64);
297 label2->setPosition(Vec2(size.width / 2, size.height * 0.5f));
298 this->addChild(label2);
299
300 auto label3 = Label::createWithTTF("vertexZ = -50", "fonts/Marker Felt.ttf", 64);
301 label3->setPosition(Vec2(size.width / 2, size.height * 0.75f));
302 this->addChild(label3);
303
304 label->setPositionZ(50);
305 label2->setPositionZ(0);
306 label3->setPositionZ(-50);
307
308 SpriteFrameCache::getInstance()->addSpriteFramesWithFile("Images/bugs/circle.plist");
309 mgr = SpriteBatchNode::create("Images/bugs/circle.png", 9);
310 this->addChild(mgr);
311 sp1 = Sprite::createWithSpriteFrameName("circle.png");
312 sp2 = Sprite::createWithSpriteFrameName("circle.png");
313 sp3 = Sprite::createWithSpriteFrameName("circle.png");
314 sp4 = Sprite::createWithSpriteFrameName("circle.png");
315 sp5 = Sprite::createWithSpriteFrameName("circle.png");
316 sp6 = Sprite::createWithSpriteFrameName("circle.png");
317 sp7 = Sprite::createWithSpriteFrameName("circle.png");
318 sp8 = Sprite::createWithSpriteFrameName("circle.png");
319 sp9 = Sprite::createWithSpriteFrameName("circle.png");
320
321 mgr->addChild(sp1, 9);
322 mgr->addChild(sp2, 8);
323 mgr->addChild(sp3, 7);
324 mgr->addChild(sp4, 6);
325 mgr->addChild(sp5, 5);
326 mgr->addChild(sp6, 4);
327 mgr->addChild(sp7, 3);
328 mgr->addChild(sp8, 2);
329 mgr->addChild(sp9, 1);
330
331 sp1->setPositionZ(400);
332 sp2->setPositionZ(300);
333 sp3->setPositionZ(200);
334 sp4->setPositionZ(100);
335 sp5->setPositionZ(0);
336 sp6->setPositionZ(-100);
337 sp7->setPositionZ(-200);
338 sp8->setPositionZ(-300);
339 sp9->setPositionZ(-400);
340
341 sp9->setScale(2);
342 sp9->setColor(Color3B::YELLOW);
343}
cocos2d::Sprite * sp4
cocos2d::Sprite * sp3
void onTouchesEnded(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
cocos2d::Sprite * sp2
cocos2d::Sprite * sp1
cocos2d::SpriteBatchNode * mgr
cocos2d::Sprite * sp5
cocos2d::Sprite * sp7
void onTouchesMoved(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
cocos2d::Sprite * sp9
cocos2d::Sprite * sp8
void onTouchesBegan(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
cocos2d::Sprite * sp6

引用了 mgr, onTouchesBegan(), onTouchesEnded(), onTouchesMoved(), sp1, sp2, sp3, sp4, sp5, sp6, sp7, sp8 , 以及 sp9.

+ 函数调用图:

成员函数说明

◆ CREATE_FUNC()

RenderTextureZbuffer::CREATE_FUNC ( RenderTextureZbuffer  )

◆ onTouchesBegan()

void RenderTextureZbuffer::onTouchesBegan ( const std::vector< cocos2d::Touch * > &  touches,
cocos2d::Event *  event 
)

在文件 RenderTextureTest.cpp355 行定义.

356{
357
358 for (auto &item: touches)
359 {
360 auto touch = static_cast<Touch*>(item);
361 auto location = touch->getLocation();
362
363 sp1->setPosition(location);
364 sp2->setPosition(location);
365 sp3->setPosition(location);
366 sp4->setPosition(location);
367 sp5->setPosition(location);
368 sp6->setPosition(location);
369 sp7->setPosition(location);
370 sp8->setPosition(location);
371 sp9->setPosition(location);
372 }
373}

引用了 sp1, sp2, sp3, sp4, sp5, sp6, sp7, sp8 , 以及 sp9.

被这些函数引用 RenderTextureZbuffer().

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

◆ onTouchesEnded()

void RenderTextureZbuffer::onTouchesEnded ( const std::vector< cocos2d::Touch * > &  touches,
cocos2d::Event *  event 
)

在文件 RenderTextureTest.cpp394 行定义.

395{
396 this->renderScreenShot();
397}

引用了 renderScreenShot().

被这些函数引用 RenderTextureZbuffer().

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

◆ onTouchesMoved()

void RenderTextureZbuffer::onTouchesMoved ( const std::vector< cocos2d::Touch * > &  touches,
cocos2d::Event *  event 
)

在文件 RenderTextureTest.cpp375 行定义.

376{
377 for (auto &item: touches)
378 {
379 auto touch = static_cast<Touch*>(item);
380 auto location = touch->getLocation();
381
382 sp1->setPosition(location);
383 sp2->setPosition(location);
384 sp3->setPosition(location);
385 sp4->setPosition(location);
386 sp5->setPosition(location);
387 sp6->setPosition(location);
388 sp7->setPosition(location);
389 sp8->setPosition(location);
390 sp9->setPosition(location);
391 }
392}

引用了 sp1, sp2, sp3, sp4, sp5, sp6, sp7, sp8 , 以及 sp9.

被这些函数引用 RenderTextureZbuffer().

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

◆ renderScreenShot()

void RenderTextureZbuffer::renderScreenShot ( )

在文件 RenderTextureTest.cpp399 行定义.

400{
401 auto texture = RenderTexture::create(512, 512);
402 if (nullptr == texture)
403 {
404 return;
405 }
406
407 texture->begin();
408
409 this->visit();
410
411 texture->end();
412
413 auto sprite = Sprite::createWithTexture(texture->getSprite()->getTexture());
414
415 sprite->setPosition(Vec2(256, 256));
416 sprite->setOpacity(182);
417 sprite->setFlippedY(1);
418 this->addChild(sprite, 999999);
419 sprite->setColor(Color3B::GREEN);
420
421 sprite->runAction(Sequence::create(FadeTo::create(2, 0),
422 Hide::create(),
423 nullptr));
424}

被这些函数引用 onTouchesEnded().

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

◆ subtitle()

std::string RenderTextureZbuffer::subtitle ( ) const
overridevirtual

重载 TestCase .

在文件 RenderTextureTest.cpp350 行定义.

351{
352 return "Touch screen. It should be green";
353}

◆ title()

std::string RenderTextureZbuffer::title ( ) const
overridevirtual

重载 TestCase .

在文件 RenderTextureTest.cpp345 行定义.

346{
347 return "Testing Z Buffer in Render Texture";
348}

类成员变量说明

◆ mgr

cocos2d::SpriteBatchNode* RenderTextureZbuffer::mgr
private

在文件 RenderTextureTest.h81 行定义.

被这些函数引用 RenderTextureZbuffer().

◆ sp1

cocos2d::Sprite* RenderTextureZbuffer::sp1
private

在文件 RenderTextureTest.h83 行定义.

被这些函数引用 onTouchesBegan(), onTouchesMoved() , 以及 RenderTextureZbuffer().

◆ sp2

cocos2d::Sprite* RenderTextureZbuffer::sp2
private

在文件 RenderTextureTest.h84 行定义.

被这些函数引用 onTouchesBegan(), onTouchesMoved() , 以及 RenderTextureZbuffer().

◆ sp3

cocos2d::Sprite* RenderTextureZbuffer::sp3
private

在文件 RenderTextureTest.h85 行定义.

被这些函数引用 onTouchesBegan(), onTouchesMoved() , 以及 RenderTextureZbuffer().

◆ sp4

cocos2d::Sprite* RenderTextureZbuffer::sp4
private

在文件 RenderTextureTest.h86 行定义.

被这些函数引用 onTouchesBegan(), onTouchesMoved() , 以及 RenderTextureZbuffer().

◆ sp5

cocos2d::Sprite* RenderTextureZbuffer::sp5
private

在文件 RenderTextureTest.h87 行定义.

被这些函数引用 onTouchesBegan(), onTouchesMoved() , 以及 RenderTextureZbuffer().

◆ sp6

cocos2d::Sprite* RenderTextureZbuffer::sp6
private

在文件 RenderTextureTest.h88 行定义.

被这些函数引用 onTouchesBegan(), onTouchesMoved() , 以及 RenderTextureZbuffer().

◆ sp7

cocos2d::Sprite* RenderTextureZbuffer::sp7
private

在文件 RenderTextureTest.h89 行定义.

被这些函数引用 onTouchesBegan(), onTouchesMoved() , 以及 RenderTextureZbuffer().

◆ sp8

cocos2d::Sprite* RenderTextureZbuffer::sp8
private

在文件 RenderTextureTest.h90 行定义.

被这些函数引用 onTouchesBegan(), onTouchesMoved() , 以及 RenderTextureZbuffer().

◆ sp9

cocos2d::Sprite* RenderTextureZbuffer::sp9
private

在文件 RenderTextureTest.h91 行定义.

被这些函数引用 onTouchesBegan(), onTouchesMoved() , 以及 RenderTextureZbuffer().


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