PuzzleSDK
LayerRadialGradientTest类 参考

#include <LayerTest.h>

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

Public 成员函数

 CREATE_FUNC (LayerRadialGradientTest)
 
virtual void onEnter () override
 
virtual std::string title () const override
 
void sliderCallback (cocos2d::Ref *sender, cocos2d::ui::Slider::EventType type)
 
void listviewCallback (cocos2d::Ref *sender, cocos2d::ui::ListView::EventType type)
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual std::string subtitle () const
 
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
 

Private 成员函数

cocos2d::ui::Slider * createSlider ()
 
cocos2d::ui::ListView * createListView ()
 

Private 属性

cocos2d::LayerRadialGradient * _layer
 
int _currentSeletedItemIndex
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Protected 属性 继承自 LayerTest
std::string _title
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

详细描述

在文件 LayerTest.h225 行定义.

成员函数说明

◆ CREATE_FUNC()

LayerRadialGradientTest::CREATE_FUNC ( LayerRadialGradientTest  )

◆ createListView()

cocos2d::ui::ListView * LayerRadialGradientTest::createListView ( )
private

在文件 LayerTest.cpp1022 行定义.

1023{
1024 auto listview = cocos2d::ui::ListView::create();
1025
1026 auto scale = cocos2d::ui::Text::create();
1027 scale->setString("scale[0-2]");
1028 scale->setColor(cocos2d::Color3B::RED); // default seleted item
1029 scale->setTouchEnabled(true);
1030 listview->pushBackCustomItem(scale);
1031
1032 auto skewx = cocos2d::ui::Text::create();
1033 skewx->setString("skewx[0-90]");
1034 skewx->setTouchEnabled(true);
1035 listview->pushBackCustomItem(skewx);
1036
1037 auto skewy = cocos2d::ui::Text::create();
1038 skewy->setString("skewy[0-90]");
1039 skewy->setTouchEnabled(true);
1040 listview->pushBackCustomItem(skewy);
1041
1042 auto expand = cocos2d::ui::Text::create();
1043 expand->setString("expand[0-1]");
1044 expand->setTouchEnabled(true);
1045 listview->pushBackCustomItem(expand);
1046
1047 auto radius = cocos2d::ui::Text::create();
1048 radius->setString("radius[0-300]");
1049 radius->setTouchEnabled(true);
1050 listview->pushBackCustomItem(radius);
1051
1052 listview->setContentSize(scale->getContentSize() * 5);
1053 listview->setCurSelectedIndex(0);
1054 listview->setTouchEnabled(true);
1055 listview->addEventListener((ui::ListView::ccListViewCallback)CC_CALLBACK_2(LayerRadialGradientTest::listviewCallback, this));
1056 listview->setTag(100);
1057
1058 return listview;
1059}
void listviewCallback(cocos2d::Ref *sender, cocos2d::ui::ListView::EventType type)
Definition: LayerTest.cpp:946

引用了 listviewCallback().

被这些函数引用 onEnter().

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

◆ createSlider()

cocos2d::ui::Slider * LayerRadialGradientTest::createSlider ( )
private

在文件 LayerTest.cpp931 行定义.

932{
933 auto slider = ui::Slider::create();
934 slider->setTouchEnabled(true);
935 slider->loadBarTexture("cocosui/sliderTrack.png");
936 slider->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
937 slider->loadProgressBarTexture("cocosui/sliderProgress.png");
938 slider->addEventListener(CC_CALLBACK_2(LayerRadialGradientTest::sliderCallback, this));
939 slider->setRotation(90);
940 slider->setTag(101);
941 slider->setPercent(50);
942
943 return slider;
944}
void sliderCallback(cocos2d::Ref *sender, cocos2d::ui::Slider::EventType type)
Definition: LayerTest.cpp:986

引用了 sliderCallback().

被这些函数引用 onEnter().

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

◆ listviewCallback()

void LayerRadialGradientTest::listviewCallback ( cocos2d::Ref *  sender,
cocos2d::ui::ListView::EventType  type 
)

在文件 LayerTest.cpp946 行定义.

947{
948 // clear all text to white
949 auto listview = static_cast<cocos2d::ui::ListView*>(sender);
950 for (auto &item : listview->getItems())
951 static_cast<cocos2d::ui::Text*>(item)->setColor(cocos2d::Color3B::WHITE);
952
953 _currentSeletedItemIndex = (int)listview->getCurSelectedIndex();
954 listview->getItem(_currentSeletedItemIndex)->setColor(cocos2d::Color3B::RED);
955
956 int percent = 100;
957 auto slider = static_cast<cocos2d::ui::Slider*>(getChildByTag(101));
959 {
960 case 0:
961 // scale
962 slider->setPercent(_layer->getScaleX() / 2 * percent);
963 break;
964 case 1:
965 // skewx
966 slider->setPercent(_layer->getSkewX() / 90 * percent);
967 break;
968 case 2:
969 // skewy
970 slider->setPercent(_layer->getSkewY() / 90 * percent);
971 break;
972 case 3:
973 // expand
974 slider->setPercent(_layer->getExpand() * percent);
975 break;
976 case 4:
977 // radius
978 slider->setPercent(_layer->getRadius() / 300 * percent);
979 break;
980
981 default:
982 break;
983 }
984}
cocos2d::LayerRadialGradient * _layer
Definition: LayerTest.h:238

引用了 _currentSeletedItemIndex , 以及 _layer.

被这些函数引用 createListView().

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

◆ onEnter()

void LayerRadialGradientTest::onEnter ( )
overridevirtual

重载 TestCase .

在文件 LayerTest.cpp907 行定义.

908{
910
912
913 auto director = Director::getInstance();
914 director->setClearColor(Color4F(0, 0, 0, 0));
915 auto origin = director->getVisibleOrigin();
916 auto size = director->getVisibleSize();
917 Vec2 center(origin.x + size.width/2 + 50, origin.y + size.height/2);
918 float radius = (size.height - 50) / 2;
919 _layer = LayerRadialGradient::create(Color4B(145, 106, 209, 140), Color4B(0, 0, 0, 0), radius, center, 1.0f);
920 addChild(_layer);
921
922 auto scaleSlider = LayerRadialGradientTest::createSlider();
923 scaleSlider->setPosition(Vec2(50.0f, 130.0f));
924 addChild(scaleSlider);
925
926 auto listview = createListView();
927 listview->setPosition(Vec2(100.0f, 150.0f));
928 addChild(listview);
929}
cocos2d::ui::Slider * createSlider()
Definition: LayerTest.cpp:931
cocos2d::ui::ListView * createListView()
Definition: LayerTest.cpp:1022
virtual void onEnter() override
Definition: BaseTest.cpp:430

引用了 _currentSeletedItemIndex, _layer, createListView(), createSlider() , 以及 TestCase::onEnter().

+ 函数调用图:

◆ sliderCallback()

void LayerRadialGradientTest::sliderCallback ( cocos2d::Ref *  sender,
cocos2d::ui::Slider::EventType  type 
)

在文件 LayerTest.cpp986 行定义.

987{
988 auto slider = static_cast<cocos2d::ui::Slider*>(sender);
989 float percent = slider->getPercent() / 100.f;
991 {
992 case 0:
993 // scale
994 _layer->setScale(percent * 2);
995 CCLOG("scale is %f", percent * 2);
996 break;
997 case 1:
998 // skewx
999 _layer->setSkewX(90 * percent);
1000 CCLOG("SkewX is %f", 90 * percent);
1001 break;
1002 case 2:
1003 // skewy
1004 _layer->setSkewY(90 * percent);
1005 CCLOG("SkewY is %f", 90 * percent);
1006 break;
1007 case 3:
1008 // expand
1009 _layer->setExpand(percent);
1010 CCLOG("expand is %f", percent);
1011 break;
1012 case 4:
1013 // radius
1014 _layer->setRadius(300 * percent);
1015 CCLOG("radius is %f", 300 * percent);
1016 break;
1017 default:
1018 break;
1019 }
1020}

引用了 _currentSeletedItemIndex , 以及 _layer.

被这些函数引用 createSlider().

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

◆ title()

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

重载 LayerTest .

在文件 LayerTest.cpp902 行定义.

903{
904 return "LayerRadialGradient test";
905}

类成员变量说明

◆ _currentSeletedItemIndex

int LayerRadialGradientTest::_currentSeletedItemIndex
private

在文件 LayerTest.h239 行定义.

被这些函数引用 listviewCallback(), onEnter() , 以及 sliderCallback().

◆ _layer

cocos2d::LayerRadialGradient* LayerRadialGradientTest::_layer
private

在文件 LayerTest.h238 行定义.

被这些函数引用 listviewCallback(), onEnter() , 以及 sliderCallback().


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