PuzzleSDK
Sprite3DEffectTest类 参考

#include <Sprite3DTest.h>

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

Public 成员函数

 CREATE_FUNC (Sprite3DEffectTest)
 
 Sprite3DEffectTest ()
 
virtual ~Sprite3DEffectTest ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
void addNewSpriteWithCoords (cocos2d::Vec2 p)
 
void onTouchesEnded (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
 
- 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 属性

std::vector< cocos2d::Sprite3D * > _sprites
 
cocos2d::EventListenerCustom * _backToForegroundListener
 
- 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.h179 行定义.

构造及析构函数说明

◆ Sprite3DEffectTest()

Sprite3DEffectTest::Sprite3DEffectTest ( )

在文件 Sprite3DTest.cpp755 行定义.

756{
757 auto s = Director::getInstance()->getWinSize();
758 addNewSpriteWithCoords(Vec2(s.width / 2, s.height / 2));
759
760 auto listener = EventListenerTouchAllAtOnce::create();
761 listener->onTouchesEnded = CC_CALLBACK_2(Sprite3DEffectTest::onTouchesEnded, this);
762 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
763#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
764 _backToForegroundListener = EventListenerCustom::create(EVENT_COME_TO_FOREGROUND,
765 [this](EventCustom*)
766 {
767 auto material = Sprite3DMaterial::createWithFilename("Sprite3DTest/outline.material");
768 material->setTechnique("outline_noneskinned");
769 for (auto& sprite : _sprites)
770 {
771 sprite->setMaterial(material->clone());
772 }
773 }
774 );
775 Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(_backToForegroundListener, 1);
776#endif
777}
cocos2d::EventListenerCustom * _backToForegroundListener
Definition: Sprite3DTest.h:196
void addNewSpriteWithCoords(cocos2d::Vec2 p)
void onTouchesEnded(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
std::vector< cocos2d::Sprite3D * > _sprites
Definition: Sprite3DTest.h:193

引用了 _backToForegroundListener, _sprites, addNewSpriteWithCoords() , 以及 onTouchesEnded().

+ 函数调用图:

◆ ~Sprite3DEffectTest()

Sprite3DEffectTest::~Sprite3DEffectTest ( )
virtual

在文件 Sprite3DTest.cpp779 行定义.

780{
781#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
782 Director::getInstance()->getEventDispatcher()->removeEventListener(_backToForegroundListener);
783#endif
784}

引用了 _backToForegroundListener.

成员函数说明

◆ addNewSpriteWithCoords()

void Sprite3DEffectTest::addNewSpriteWithCoords ( cocos2d::Vec2  p)

在文件 Sprite3DTest.cpp795 行定义.

796{
797 //option 2: load obj and assign the texture
798 auto sprite = Sprite3D::create("Sprite3DTest/boss1.obj");
799 auto material = Sprite3DMaterial::createWithFilename("Sprite3DTest/outline.material");
800 material->setTechnique("outline_noneskinned");
801 sprite->setMaterial(material);
802 sprite->setScale(6.f);
803 Director::getInstance()->getTextureCache()->removeUnusedTextures();
804
805 //add to scene
806 addChild(sprite);
807
808 sprite->setPosition(Vec2(p.x, p.y));
809
810 ActionInterval* action;
811 float random = CCRANDOM_0_1();
812
813 if (random < 0.20)
814 action = ScaleBy::create(3, 2);
815 else if (random < 0.40)
816 action = RotateBy::create(3, 360);
817 else if (random < 0.60)
818 action = Blink::create(1, 3);
819 else if (random < 0.8)
820 action = TintBy::create(2, 0, -255, -255);
821 else
822 action = FadeOut::create(2);
823 auto action_back = action->reverse();
824 auto seq = Sequence::create(action, action_back, nullptr);
825
826 sprite->runAction(RepeatForever::create(seq));
827 _sprites.push_back(sprite);
828}

引用了 _sprites.

被这些函数引用 onTouchesEnded() , 以及 Sprite3DEffectTest().

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

◆ CREATE_FUNC()

Sprite3DEffectTest::CREATE_FUNC ( Sprite3DEffectTest  )

◆ onTouchesEnded()

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

在文件 Sprite3DTest.cpp830 行定义.

831{
832 for (auto touch : touches)
833 {
834 auto location = touch->getLocation();
835
836 addNewSpriteWithCoords(location);
837 }
838}

引用了 addNewSpriteWithCoords().

被这些函数引用 Sprite3DEffectTest().

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

◆ subtitle()

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

重载 TestCase .

在文件 Sprite3DTest.cpp790 行定义.

791{
792 return "Sprite3d with effects";
793}

◆ title()

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

重载 Sprite3DTestDemo .

在文件 Sprite3DTest.cpp786 行定义.

787{
788 return "Testing Sprite3D";
789}

类成员变量说明

◆ _backToForegroundListener

cocos2d::EventListenerCustom* Sprite3DEffectTest::_backToForegroundListener
protected

在文件 Sprite3DTest.h196 行定义.

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

◆ _sprites

std::vector<cocos2d::Sprite3D*> Sprite3DEffectTest::_sprites
protected

在文件 Sprite3DTest.h193 行定义.

被这些函数引用 addNewSpriteWithCoords() , 以及 Sprite3DEffectTest().


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