PuzzleSDK
CameraBackgroundClearTest类 参考

#include <Sprite3DTest.h>

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

Public 成员函数

 CREATE_FUNC (CameraBackgroundClearTest)
 
 CameraBackgroundClearTest ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
void switch_CameraClearMode (cocos2d::Ref *sender)
 
- Public 成员函数 继承自 Sprite3DTestDemo
virtual ~Sprite3DTestDemo ()
 
- 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
 

Protected 属性

cocos2d::Camera * _camera
 
cocos2d::Label * _label
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 

详细描述

在文件 Sprite3DTest.h533 行定义.

构造及析构函数说明

◆ CameraBackgroundClearTest()

CameraBackgroundClearTest::CameraBackgroundClearTest ( )

在文件 Sprite3DTest.cpp2398 行定义.

2399{
2400 TTFConfig ttfConfig("fonts/arial.ttf", 20);
2401 auto label1 = Label::createWithTTF(ttfConfig,"Clear Mode");
2402 auto item1 = MenuItemLabel::create(label1,CC_CALLBACK_1(CameraBackgroundClearTest::switch_CameraClearMode,this) );
2403
2404 item1->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height*4 ) );
2405
2406 auto pMenu1 = Menu::create(item1, nullptr);
2407 pMenu1->setPosition(Vec2(0.0f,0.0f));
2408 this->addChild(pMenu1, 10);
2409
2410 //setup camera
2411 auto s = Director::getInstance()->getWinSize();
2412 _camera = Camera::createPerspective(40, s.width / s.height, 0.01f, 1000.f);
2413 _camera->setCameraFlag(CameraFlag::USER1);
2414 _camera->setPosition3D(Vec3(0.f, 30.f, 100.f));
2415 _camera->lookAt(Vec3(0.f, 0.f, 0.f));
2416 addChild(_camera);
2417
2418 auto sprite = Sprite3D::create("Sprite3DTest/orc.c3b");
2419 addChild(sprite);
2420 sprite->setCameraMask(2);
2421
2422 _label = Label::createWithTTF(ttfConfig, "Depth Clear Brush");
2423 addChild(_label);
2424 _label->setPosition(s.width / 2.f , VisibleRect::top().y * 0.8f);
2425}
cocos2d::Label * _label
Definition: Sprite3DTest.h:544
void switch_CameraClearMode(cocos2d::Ref *sender)
cocos2d::Camera * _camera
Definition: Sprite3DTest.h:543
static cocos2d::Vec2 top()
Definition: VisibleRect.cpp:57
static cocos2d::Vec2 bottom()
Definition: VisibleRect.cpp:63
static cocos2d::Vec2 left()
Definition: VisibleRect.cpp:45

引用了 _camera, _label, VisibleRect::bottom(), VisibleRect::left(), switch_CameraClearMode() , 以及 VisibleRect::top().

+ 函数调用图:

成员函数说明

◆ CREATE_FUNC()

CameraBackgroundClearTest::CREATE_FUNC ( CameraBackgroundClearTest  )

◆ subtitle()

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

重载 TestCase .

在文件 Sprite3DTest.cpp2469 行定义.

2470{
2471 return "";
2472}

◆ switch_CameraClearMode()

void CameraBackgroundClearTest::switch_CameraClearMode ( cocos2d::Ref *  sender)

在文件 Sprite3DTest.cpp2427 行定义.

2428{
2429 auto brush = _camera->getBackgroundBrush();
2430 CameraBackgroundBrush::BrushType type = CameraBackgroundBrush::BrushType::NONE;
2431 if (!brush)
2432 {
2433 CCLOG("No brash found!");
2434 }
2435 else
2436 {
2437 type = brush->getBrushType();
2438 }
2439
2440 if (type == CameraBackgroundBrush::BrushType::NONE)
2441 {
2442 _camera->setBackgroundBrush(CameraBackgroundBrush::createDepthBrush(1.f));
2443 _label->setString("Depth Clear Brush");
2444 // Test brush valid when set by user scene setting
2445 CCLOG("Background brush valid status is : %s", _camera->isBrushValid() ? "true" : "false");
2446 }
2447 else if (type == CameraBackgroundBrush::BrushType::DEPTH)
2448 {
2449 _camera->setBackgroundBrush(CameraBackgroundBrush::createColorBrush(Color4F(1.f, 0.f, 0.f, 1.f), 1.f));
2450 _label->setString("Color Clear Brush");
2451 }
2452 else if (type == CameraBackgroundBrush::BrushType::COLOR)
2453 {
2454 _camera->setBackgroundBrush(CameraBackgroundBrush::createSkyboxBrush("Sprite3DTest/skybox/left.jpg", "Sprite3DTest/skybox/right.jpg","Sprite3DTest/skybox/top.jpg", "Sprite3DTest/skybox/bottom.jpg","Sprite3DTest/skybox/front.jpg", "Sprite3DTest/skybox/back.jpg"));
2455 _label->setString("Skybox Clear Brush");
2456 }
2457 else if (type == CameraBackgroundBrush::BrushType::SKYBOX)
2458 {
2459 _camera->setBackgroundBrush(CameraBackgroundBrush::createNoneBrush());
2460 _label->setString("None Clear Brush");
2461 }
2462}

引用了 _camera , 以及 _label.

被这些函数引用 CameraBackgroundClearTest().

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

◆ title()

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

重载 Sprite3DTestDemo .

在文件 Sprite3DTest.cpp2464 行定义.

2465{
2466 return "Camera Background Clear Brush";
2467}

类成员变量说明

◆ _camera

cocos2d::Camera* CameraBackgroundClearTest::_camera
protected

在文件 Sprite3DTest.h543 行定义.

被这些函数引用 CameraBackgroundClearTest() , 以及 switch_CameraClearMode().

◆ _label

cocos2d::Label* CameraBackgroundClearTest::_label
protected

在文件 Sprite3DTest.h544 行定义.

被这些函数引用 CameraBackgroundClearTest() , 以及 switch_CameraClearMode().


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