PuzzleSDK
Sprite3DHitTest类 参考

#include <Sprite3DTest.h>

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

Public 成员函数

 CREATE_FUNC (Sprite3DHitTest)
 
 Sprite3DHitTest ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
- 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.h170 行定义.

构造及析构函数说明

◆ Sprite3DHitTest()

Sprite3DHitTest::Sprite3DHitTest ( )

在文件 Sprite3DTest.cpp686 行定义.

687{
688 auto s = Director::getInstance()->getWinSize();
689
690 auto sprite1 = Sprite3D::create("Sprite3DTest/boss1.obj");
691
692 sprite1->setScale(4.f);
693 sprite1->setTexture("Sprite3DTest/boss.png");
694 sprite1->setPosition(Vec2(s.width / 2, s.height / 2));
695
696 //add to scene
697 addChild(sprite1);
698 sprite1->runAction(RepeatForever::create(RotateBy::create(3.0f, 360.0f)));
699
700 auto sprite2 = Sprite3D::create("Sprite3DTest/boss1.obj");
701
702 sprite2->setScale(4.f);
703 sprite2->setTexture("Sprite3DTest/boss.png");
704 sprite2->setPosition(Vec2(s.width / 2, s.height / 2));
705 sprite2->setAnchorPoint(Vec2(0.5f, 0.5f));
706
707 //add to scene
708 addChild(sprite2);
709 sprite2->runAction(RepeatForever::create(RotateBy::create(3.0f, -360.0f)));
710
711
712 // Make sprite1 touchable
713 auto listener1 = EventListenerTouchOneByOne::create();
714 listener1->setSwallowTouches(true);
715
716 listener1->onTouchBegan = [](Touch* touch, Event* event) {
717 auto target = static_cast<Sprite3D*>(event->getCurrentTarget());
718
719 Rect rect = target->getBoundingBox();
720 if (rect.containsPoint(touch->getLocation()))
721 {
722 log("sprite3d began... x = %f, y = %f", touch->getLocation().x, touch->getLocation().y);
723 target->setOpacity(100);
724 return true;
725 }
726 return false;
727 };
728
729 listener1->onTouchMoved = [](Touch* touch, Event* event) {
730 auto target = static_cast<Sprite3D*>(event->getCurrentTarget());
731 target->setPosition(target->getPosition() + touch->getDelta());
732 };
733
734 listener1->onTouchEnded = [=](Touch* touch, Event* event) {
735 auto target = static_cast<Sprite3D*>(event->getCurrentTarget());
736 log("sprite3d onTouchesEnded.. ");
737 target->setOpacity(255);
738 };
739
740 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, sprite1);
741 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1->clone(), sprite2);
742
743}

成员函数说明

◆ CREATE_FUNC()

Sprite3DHitTest::CREATE_FUNC ( Sprite3DHitTest  )

◆ subtitle()

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

重载 TestCase .

在文件 Sprite3DTest.cpp750 行定义.

751{
752 return "Tap Sprite3D and Drag";
753}

◆ title()

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

重载 Sprite3DTestDemo .

在文件 Sprite3DTest.cpp745 行定义.

746{
747 return "Testing Sprite3D Touch in 2D";
748}

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