PuzzleSDK
TwoSchedulers类 参考

#include <SchedulerTest.h>

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

Public 成员函数

 CREATE_FUNC (TwoSchedulers)
 
virtual ~TwoSchedulers ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
void onEnter () override
 
cocos2d::extension::ControlSlider * sliderCtl ()
 
void sliderAction (cocos2d::Ref *sender, cocos2d::extension::Control::EventType controlEvent)
 
- 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
 

Public 属性

cocos2d::Scheduler * sched1
 
cocos2d::Scheduler * sched2
 
cocos2d::ActionManager * actionManager1
 
cocos2d::ActionManager * actionManager2
 
cocos2d::extension::ControlSlider * sliderCtl1
 
cocos2d::extension::ControlSlider * sliderCtl2
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

详细描述

在文件 SchedulerTest.h276 行定义.

构造及析构函数说明

◆ ~TwoSchedulers()

TwoSchedulers::~TwoSchedulers ( )
virtual

在文件 SchedulerTest.cpp988 行定义.

989{
990 auto defaultScheduler = Director::getInstance()->getScheduler();
991 defaultScheduler->unscheduleAllForTarget(sched1);
992 defaultScheduler->unscheduleAllForTarget(sched2);
993
994 sliderCtl1->release();
995 sliderCtl2->release();
996
997 sched1->release();
998 sched2->release();
999
1000 actionManager1->release();
1001 actionManager2->release();
1002}
cocos2d::Scheduler * sched2
cocos2d::Scheduler * sched1
cocos2d::ActionManager * actionManager2
cocos2d::ActionManager * actionManager1
cocos2d::extension::ControlSlider * sliderCtl2
cocos2d::extension::ControlSlider * sliderCtl1

引用了 actionManager1, actionManager2, sched1, sched2, sliderCtl1 , 以及 sliderCtl2.

成员函数说明

◆ CREATE_FUNC()

TwoSchedulers::CREATE_FUNC ( TwoSchedulers  )

◆ onEnter()

void TwoSchedulers::onEnter ( )
overridevirtual

重载 TestCase .

在文件 SchedulerTest.cpp902 行定义.

903{
905
906 auto s = Director::getInstance()->getWinSize();
907
908 // rotate and jump
909 auto jump1 = JumpBy::create(4, Vec2(0,0), 100, 4);
910 auto jump2 = jump1->reverse();
911
912 auto seq = Sequence::create(jump2, jump1, nullptr);
913 auto action = RepeatForever::create(seq);
914
915 //
916 // Center
917 //
918 auto grossini = Sprite::create("Images/grossini.png");
919 addChild(grossini);
920 grossini->setPosition(Vec2(s.width/2,100.0f));
921 grossini->runAction(action->clone());
922
923 auto defaultScheduler = Director::getInstance()->getScheduler();
924
925 //
926 // Left:
927 //
928
929 // Create a new scheduler, and link it to the main scheduler
930 sched1 = new (std::nothrow) Scheduler();
931
932 defaultScheduler->scheduleUpdate(sched1, 0, false);
933
934 // Create a new ActionManager, and link it to the new scheduler
935 actionManager1 = new (std::nothrow) ActionManager();
936 sched1->scheduleUpdate(actionManager1, 0, false);
937
938 for( unsigned int i=0; i < 10; i++ )
939 {
940 auto sprite = Sprite::create("Images/grossinis_sister1.png");
941
942 // IMPORTANT: Set the actionManager running any action
943 sprite->setActionManager(actionManager1);
944
945 addChild(sprite);
946 sprite->setPosition(Vec2(30+15*i,100.0f));
947
948 sprite->runAction(action->clone());
949 }
950
951
952 //
953 // Right:
954 //
955
956 // Create a new scheduler, and link it to the main scheduler
957 sched2 = new (std::nothrow) Scheduler();
958 defaultScheduler->scheduleUpdate(sched2, 0, false);
959
960 // Create a new ActionManager, and link it to the new scheduler
961 actionManager2 = new (std::nothrow) ActionManager();
962 sched2->scheduleUpdate(actionManager2, 0, false);
963
964 for( unsigned int i=0; i < 10; i++ ) {
965 auto sprite = Sprite::create("Images/grossinis_sister2.png");
966
967 // IMPORTANT: Set the actionManager running any action
968 sprite->setActionManager(actionManager2);
969
970 addChild(sprite);
971 sprite->setPosition(Vec2(s.width-30-15*i,100.0f));
972
973 sprite->runAction(action->clone());
974 }
975
977 addChild(sliderCtl1);
978 sliderCtl1->retain();
979 sliderCtl1->setPosition(Vec2(s.width / 4.0f, VisibleRect::top().y - 20));
980
982 addChild(sliderCtl2);
983 sliderCtl2->retain();
984 sliderCtl2->setPosition(Vec2(s.width / 4.0f*3.0f, VisibleRect::top().y-20));
985}
virtual void onEnter() override
Definition: BaseTest.cpp:430
cocos2d::extension::ControlSlider * sliderCtl()
static cocos2d::Vec2 top()
Definition: VisibleRect.cpp:57

引用了 actionManager1, actionManager2, TestCase::onEnter(), sched1, sched2, sliderCtl(), sliderCtl1, sliderCtl2 , 以及 VisibleRect::top().

+ 函数调用图:

◆ sliderAction()

void TwoSchedulers::sliderAction ( cocos2d::Ref *  sender,
cocos2d::extension::Control::EventType  controlEvent 
)

在文件 SchedulerTest.cpp889 行定义.

890{
891 float scale;
892
893 ControlSlider *slider = static_cast<ControlSlider*>(sender);
894 scale = slider->getValue();
895
896 if( sender == sliderCtl1 )
897 sched1->setTimeScale(scale);
898 else
899 sched2->setTimeScale(scale);
900}

引用了 sched1, sched2 , 以及 sliderCtl1.

被这些函数引用 sliderCtl().

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

◆ sliderCtl()

ControlSlider * TwoSchedulers::sliderCtl ( )

在文件 SchedulerTest.cpp871 行定义.

872{
873 // auto frame = CGRectMake(12.0f, 12.0f, 120.0f, 7.0f);
874 ControlSlider *slider = ControlSlider::create("extensions/sliderTrack2.png","extensions/sliderProgress2.png" ,"extensions/sliderThumb.png");
875 //[[UISlider alloc] initWithFrame:frame];
876 slider->addTargetWithActionForControlEvents(this, cccontrol_selector(TwoSchedulers::sliderAction), Control::EventType::VALUE_CHANGED);
877
878 // in case the parent view draws with a custom color or gradient, use a transparent color
879 //slider.backgroundColor = [UIColor clearColor];
880
881 slider->setMinimumValue(0.0f);
882 slider->setMaximumValue(2.0f);
883 //slider.continuous = YES;
884 slider->setValue(1.0f);
885
886 return slider;
887}
void sliderAction(cocos2d::Ref *sender, cocos2d::extension::Control::EventType controlEvent)

引用了 sliderAction().

被这些函数引用 onEnter().

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

◆ subtitle()

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

重载 TestCase .

在文件 SchedulerTest.cpp1009 行定义.

1010{
1011 return "Three schedulers. 2 custom + 1 default. Two different time scales";
1012}

◆ title()

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

重载 TestCase .

在文件 SchedulerTest.cpp1004 行定义.

1005{
1006 return "Two custom schedulers";
1007}

类成员变量说明

◆ actionManager1

cocos2d::ActionManager* TwoSchedulers::actionManager1

在文件 SchedulerTest.h289 行定义.

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

◆ actionManager2

cocos2d::ActionManager* TwoSchedulers::actionManager2

在文件 SchedulerTest.h290 行定义.

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

◆ sched1

cocos2d::Scheduler* TwoSchedulers::sched1

在文件 SchedulerTest.h287 行定义.

被这些函数引用 onEnter(), sliderAction() , 以及 ~TwoSchedulers().

◆ sched2

cocos2d::Scheduler* TwoSchedulers::sched2

在文件 SchedulerTest.h288 行定义.

被这些函数引用 onEnter(), sliderAction() , 以及 ~TwoSchedulers().

◆ sliderCtl1

cocos2d::extension::ControlSlider* TwoSchedulers::sliderCtl1

在文件 SchedulerTest.h292 行定义.

被这些函数引用 onEnter(), sliderAction() , 以及 ~TwoSchedulers().

◆ sliderCtl2

cocos2d::extension::ControlSlider* TwoSchedulers::sliderCtl2

在文件 SchedulerTest.h293 行定义.

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


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