PuzzleSDK
Sprite3DNormalMappingTest类 参考

#include <Sprite3DTest.h>

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

Public 成员函数

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

额外继承的成员函数

- 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
 

详细描述

在文件 Sprite3DTest.h577 行定义.

构造及析构函数说明

◆ Sprite3DNormalMappingTest()

Sprite3DNormalMappingTest::Sprite3DNormalMappingTest ( )

在文件 Sprite3DTest.cpp2518 行定义.

2519{
2520 auto s = Director::getInstance()->getWinSize();
2521
2522 {
2523 auto sprite = Sprite3D::create("Sprite3DTest/sphere.c3b");
2524 sprite->setPosition(Vec2(-30.0f, 0.0f));
2525 sprite->setRotation3D(Vec3(90.0f, 0.0f, 0.0f));
2526 sprite->setScale(2.0);
2527 sprite->setCameraMask(2);
2528 sprite->setTexture("Sprite3DTest/brickwork-texture.jpg");
2529 addChild(sprite);
2530 }
2531
2532 int maxAttributes = Configuration::getInstance()->getMaxAttributes();
2533 CCASSERT(maxAttributes > 8, "attributes supported must be greater than 8");
2534 if (maxAttributes > 8)
2535 {
2536 auto sprite = Sprite3D::create("Sprite3DTest/sphere_bumped.c3b");
2537 sprite->setPosition(Vec2(30.0f, 0.0f));
2538 sprite->setRotation3D(Vec3(90.0f, 0.0f, 0.0f));
2539 sprite->setScale(20.0);
2540 sprite->setCameraMask(2);
2541 sprite->setTexture("Sprite3DTest/brickwork-texture.jpg");
2542 addChild(sprite);
2543 }
2544
2545 //setup camera
2546 auto camera = Camera::createPerspective(60.0, s.width / s.height, 1.0f, 1000.f);
2547 camera->setCameraFlag(CameraFlag::USER1);
2548 camera->setPosition3D(Vec3(0.f, 0.f, 100.f));
2549 camera->lookAt(Vec3(0.f, 0.f, 0.f));
2550 addChild(camera);
2551
2552 PointLight* light = PointLight::create(Vec3(0.0, 0.0, 0.0), Color3B(255, 255, 255), 1000);
2553 light->setTag(100);
2554 addChild(light);
2555
2556 scheduleUpdate();
2557}

◆ ~Sprite3DNormalMappingTest()

Sprite3DNormalMappingTest::~Sprite3DNormalMappingTest ( )
virtual

在文件 Sprite3DTest.cpp2579 行定义.

2580{
2581
2582}

成员函数说明

◆ CREATE_FUNC()

Sprite3DNormalMappingTest::CREATE_FUNC ( Sprite3DNormalMappingTest  )

◆ subtitle()

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

重载 TestCase .

在文件 Sprite3DTest.cpp2589 行定义.

2590{
2591 return "";
2592}

◆ title()

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

重载 Sprite3DTestDemo .

在文件 Sprite3DTest.cpp2584 行定义.

2585{
2586 return "NormalMapping Test";
2587}

◆ update()

void Sprite3DNormalMappingTest::update ( float  dt)
overridevirtual

在文件 Sprite3DTest.cpp2559 行定义.

2560{
2561 static float angle = 0.0f;
2562 static bool reverseDir = false;
2563 static float radius = 100.0f;
2564
2565 auto light = static_cast<PointLight*>(getChildByTag(100));
2566 light->setPosition3D(Vec3(radius * cos(angle), 0.0f, radius * sin(angle)));
2567 if (reverseDir){
2568 angle -= 0.01f;
2569 if (angle < 0.0)
2570 reverseDir = false;
2571 }
2572 else{
2573 angle += 0.01f;
2574 if (3.14159 < angle)
2575 reverseDir = true;
2576 }
2577}

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