PuzzleSDK
GlobalZTouchTest类 参考

#include <NewEventDispatcherTest.h>

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

Public 成员函数

 CREATE_FUNC (GlobalZTouchTest)
 
 GlobalZTouchTest ()
 
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
 
virtual void onEnter () override
 

Protected 属性

cocos2d::Sprite * _sprite
 
float _accum
 
- 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
 

详细描述

在文件 NewEventDispatcherTest.h152 行定义.

构造及析构函数说明

◆ GlobalZTouchTest()

GlobalZTouchTest::GlobalZTouchTest ( )

在文件 NewEventDispatcherTest.cpp840 行定义.

841: _sprite(nullptr)
842, _accum(0)
843{
844
845 auto listener = EventListenerTouchOneByOne::create();
846 listener->setSwallowTouches(true);
847
848 listener->onTouchBegan = [](Touch* touch, Event* event){
849 auto target = static_cast<Sprite*>(event->getCurrentTarget());
850
851 Vec2 locationInNode = target->convertToNodeSpace(touch->getLocation());
852 Size s = target->getContentSize();
853 Rect rect = Rect(0, 0, s.width, s.height);
854
855 if (rect.containsPoint(locationInNode))
856 {
857 log("sprite began... x = %f, y = %f", locationInNode.x, locationInNode.y);
858 target->setOpacity(180);
859 return true;
860 }
861 return false;
862 };
863
864 listener->onTouchMoved = [](Touch* touch, Event* event){
865 auto target = static_cast<Sprite*>(event->getCurrentTarget());
866 target->setPosition(target->getPosition() + touch->getDelta());
867 };
868
869 listener->onTouchEnded = [=](Touch* touch, Event* event){
870 auto target = static_cast<Sprite*>(event->getCurrentTarget());
871 log("sprite onTouchesEnded.. ");
872 target->setOpacity(255);
873 };
874
875 const int SPRITE_COUNT = 8;
876
877 for (int i = 0; i < SPRITE_COUNT; i++)
878 {
879 Sprite *sprite;
880 if(i==4)
881 {
882 sprite = Sprite::create("Images/CyanSquare.png");
883 _sprite = sprite;
884 _sprite->setGlobalZOrder(-1);
885 }
886 else
887 {
888 sprite = Sprite::create("Images/YellowSquare.png");
889 }
890
891 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), sprite);
892
893 this->addChild(sprite);
894
895 Size visibleSize = Director::getInstance()->getVisibleSize();
896 sprite->setPosition(VisibleRect::left().x + visibleSize.width / (SPRITE_COUNT - 1) * i, VisibleRect::center().y);
897 }
898
899 this->scheduleUpdate();
900}
cocos2d::Sprite * _sprite
static cocos2d::Vec2 center()
Definition: VisibleRect.cpp:69
static cocos2d::Vec2 left()
Definition: VisibleRect.cpp:45

引用了 _sprite, VisibleRect::center() , 以及 VisibleRect::left().

+ 函数调用图:

成员函数说明

◆ CREATE_FUNC()

GlobalZTouchTest::CREATE_FUNC ( GlobalZTouchTest  )

◆ subtitle()

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

重载 TestCase .

在文件 NewEventDispatcherTest.cpp917 行定义.

918{
919 return "Blue Sprite should change go from foreground to background";
920}

◆ title()

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

重载 EventDispatcherTestDemo .

在文件 NewEventDispatcherTest.cpp912 行定义.

913{
914 return "Global Z Value, Try touch blue sprite";
915}

◆ update()

void GlobalZTouchTest::update ( float  dt)
overridevirtual

在文件 NewEventDispatcherTest.cpp902 行定义.

903{
904 _accum += dt;
905 if( _accum > 2.0f) {
906 float z = _sprite->getGlobalZOrder();
907 _sprite->setGlobalZOrder(-z);
908 _accum = 0;
909 }
910}

引用了 _accum , 以及 _sprite.

类成员变量说明

◆ _accum

float GlobalZTouchTest::_accum
protected

在文件 NewEventDispatcherTest.h165 行定义.

被这些函数引用 update().

◆ _sprite

cocos2d::Sprite* GlobalZTouchTest::_sprite
protected

在文件 NewEventDispatcherTest.h164 行定义.

被这些函数引用 GlobalZTouchTest() , 以及 update().


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