PuzzleSDK
CameraRotationTest类 参考

#include <Camera3DTest.h>

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

Public 成员函数

 CREATE_FUNC (CameraRotationTest)
 
 CameraRotationTest ()
 
virtual ~CameraRotationTest ()
 
virtual void onEnter () override
 
virtual void onExit () override
 
virtual void update (float dt) override
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
- 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
 

Protected 属性

cocos2d::Node * _camControlNode
 
cocos2d::Node * _camNode
 
cocos2d::EventListenerTouchOneByOne * _lis
 
- Protected 属性 继承自 CameraBaseTest
cocos2d::BillBoard * bill1
 
cocos2d::BillBoard * bill2
 
cocos2d::Label * l1
 
cocos2d::Label * l2
 
- 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
 

详细描述

在文件 Camera3DTest.h78 行定义.

构造及析构函数说明

◆ CameraRotationTest()

CameraRotationTest::CameraRotationTest ( )

在文件 Camera3DTest.cpp65 行定义.

66{
67
68 auto s = Director::getInstance()->getWinSize();
69
70 _camControlNode = Node::create();
71 _camControlNode->setPositionNormalized(Vec2(0.5f,0.5f));
72 addChild(_camControlNode);
73
74 _camNode = Node::create();
75 _camNode->setPositionZ(Camera::getDefaultCamera()->getPosition3D().z);
76 _camControlNode->addChild(_camNode);
77
78 auto sp3d = Sprite3D::create();
79 sp3d->setPosition(s.width/2, s.height/2);
80 addChild(sp3d);
81
82 auto lship = Label::create();
83 lship->setString("Ship");
84 lship->setPosition(0, 20);
85 sp3d->addChild(lship);
86
87 //Billboards
88 //Yellow is at the back
89 bill1 = BillBoard::create("Images/Icon.png");
90 bill1->setPosition3D(Vec3(50.0f, 10.0f, -10.0f));
91 bill1->setColor(Color3B::YELLOW);
92 bill1->setScale(0.6f);
93 sp3d->addChild(bill1);
94
95 l1 = Label::create();
96 l1->setPosition(Vec2(0.0f,-10.0f));
97 l1->setString("Billboard1");
98 l1->setColor(Color3B::WHITE);
99 l1->setScale(3);
100 bill1->addChild(l1);
101
102 auto p1 = ParticleSystemQuad::create("Particles/SmallSun.plist");
103 p1->setPosition(30.0f,80.0f);
104 bill1->addChild(p1);
105
106 bill2 = BillBoard::create("Images/Icon.png");
107 bill2->setPosition3D(Vec3(-50.0f, -10.0f, 10.0f));
108 bill2->setScale(0.6f);
109 sp3d->addChild(bill2);
110
111 l2 = Label::create();
112 l2->setString("Billboard2");
113 l2->setPosition(Vec2(0.0f,-10.0f));
114 l2->setColor(Color3B::WHITE);
115 l2->setScale(3);
116 bill2->addChild(l2);
117
118 auto p2 = ParticleSystemQuad::create("Particles/SmallSun.plist");
119 p2->setPosition(30,80);
120 bill2->addChild(p2);
121
122 //3D models
123 auto model = Sprite3D::create("Sprite3DTest/boss1.obj");
124 model->setScale(4);
125 model->setTexture("Sprite3DTest/boss.png");
126 model->setPosition3D(Vec3(s.width/2, s.height/2, 0));
127 addChild(model);
128
129 //Listener
130 _lis = EventListenerTouchOneByOne::create();
131 _lis->onTouchBegan = [](Touch* t, Event* e) {
132 return true;
133 };
134
135 _lis->onTouchMoved = [this](Touch* t, Event* e) {
136 float dx = t->getDelta().x;
137 Vec3 rot = _camControlNode->getRotation3D();
138 rot.y += dx;
139 _camControlNode->setRotation3D(rot);
140
141 Vec3 worldPos;
142 _camNode->getNodeToWorldTransform().getTranslation(&worldPos);
143
144 Camera::getDefaultCamera()->setPosition3D(worldPos);
145 Camera::getDefaultCamera()->lookAt(_camControlNode->getPosition3D());
146 };
147
148 Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(_lis, this);
149
150 schedule(CC_SCHEDULE_SELECTOR(CameraRotationTest::update));
151}
cocos2d::BillBoard * bill1
Definition: Camera3DTest.h:72
cocos2d::Label * l2
Definition: Camera3DTest.h:75
cocos2d::Label * l1
Definition: Camera3DTest.h:74
cocos2d::BillBoard * bill2
Definition: Camera3DTest.h:73
cocos2d::Node * _camControlNode
Definition: Camera3DTest.h:96
cocos2d::Node * _camNode
Definition: Camera3DTest.h:97
cocos2d::EventListenerTouchOneByOne * _lis
Definition: Camera3DTest.h:98
virtual void update(float dt) override

引用了 _camControlNode, _camNode, _lis, CameraBaseTest::bill1, CameraBaseTest::bill2, CameraBaseTest::l1, CameraBaseTest::l2 , 以及 update().

+ 函数调用图:

◆ ~CameraRotationTest()

CameraRotationTest::~CameraRotationTest ( )
virtual

在文件 Camera3DTest.cpp153 行定义.

154{
155 Director::getInstance()->getEventDispatcher()->removeEventListener(_lis);
156}

引用了 _lis.

成员函数说明

◆ CREATE_FUNC()

CameraRotationTest::CREATE_FUNC ( CameraRotationTest  )

◆ onEnter()

void CameraRotationTest::onEnter ( )
overridevirtual

重载 TestCase .

在文件 Camera3DTest.cpp168 行定义.

169{
171}
virtual void onEnter() override
Definition: BaseTest.cpp:430

引用了 TestCase::onEnter().

+ 函数调用图:

◆ onExit()

void CameraRotationTest::onExit ( )
overridevirtual

在文件 Camera3DTest.cpp173 行定义.

174{
175 CameraBaseTest::onExit();
176}

◆ subtitle()

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

重载 TestCase .

在文件 Camera3DTest.cpp163 行定义.

164{
165 return "Slide to rotate";
166}

◆ title()

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

重载 TestCase .

在文件 Camera3DTest.cpp158 行定义.

159{
160 return "Camera Rotation Test";
161}

◆ update()

void CameraRotationTest::update ( float  dt)
overridevirtual

在文件 Camera3DTest.cpp178 行定义.

179{
180}

被这些函数引用 CameraRotationTest().

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

类成员变量说明

◆ _camControlNode

cocos2d::Node* CameraRotationTest::_camControlNode
protected

在文件 Camera3DTest.h96 行定义.

被这些函数引用 CameraRotationTest().

◆ _camNode

cocos2d::Node* CameraRotationTest::_camNode
protected

在文件 Camera3DTest.h97 行定义.

被这些函数引用 CameraRotationTest().

◆ _lis

cocos2d::EventListenerTouchOneByOne* CameraRotationTest::_lis
protected

在文件 Camera3DTest.h98 行定义.

被这些函数引用 CameraRotationTest() , 以及 ~CameraRotationTest().


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