PuzzleSDK
UIS9GrayStateOpacityTest类 参考

#include <UIScale9SpriteTest.h>

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

Public 成员函数

 CREATE_FUNC (UIS9GrayStateOpacityTest)
 
void sliderEvent (cocos2d::Ref *sender, cocos2d::ui::Slider::EventType type)
 
virtual bool init () override
 
- Public 成员函数 继承自 UIScene
 UIScene ()
 
 ~UIScene ()
 
virtual void onEnter () override
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual std::string title () const
 
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
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Protected 属性 继承自 UIScene
cocos2d::Layer * _uiLayer
 
cocos2d::ui::Layout * _widget
 
cocos2d::ui::Text * _sceneTitle
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

详细描述

在文件 UIScale9SpriteTest.h315 行定义.

成员函数说明

◆ CREATE_FUNC()

UIS9GrayStateOpacityTest::CREATE_FUNC ( UIS9GrayStateOpacityTest  )

◆ init()

bool UIS9GrayStateOpacityTest::init ( )
overridevirtual

重载 UIScene .

在文件 UIScale9SpriteTest.cpp1145 行定义.

1146{
1147 if (UIScene::init()) {
1148
1149 auto winSize = Director::getInstance()->getWinSize();
1150 float x = winSize.width / 2;
1151 float y = 0 + (winSize.height / 2 + 10);
1152
1153 auto label = Label::createWithSystemFont("Drap slider to change opacity of the scale9Sprite", "Arial", 15);
1154 label->setPosition(Vec2(winSize.width/2, winSize.height - 60));
1155 this->addChild(label);
1156
1157 auto blocks = ui::Scale9Sprite::create("Images/blocks9.png");
1158
1159 blocks->setPosition(Vec2(x, y));
1160 blocks->setPreferredSize(Size(96*2, 96*1.5));
1161 blocks->setOpacity(100);
1162 blocks->setState(Scale9Sprite::State::GRAY);
1163 blocks->setGlobalZOrder(1);
1164 blocks->setName("GrayScale9");
1165 this->addChild(blocks);
1166
1167 Slider* slider = Slider::create();
1168 slider->loadBarTexture("cocosui/sliderTrack.png");
1169 slider->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
1170 slider->loadProgressBarTexture("cocosui/sliderProgress.png");
1171 slider->setContentSize(Size(300, slider->getContentSize().height * 1.5f));
1172 slider->setMaxPercent(100);
1173 slider->setPercent(100 * 100.0f / 255.0);
1174 slider->setPosition(Vec2(winSize.width / 2.0f, winSize.height / 2.0f - 100));
1175 slider->addEventListener(CC_CALLBACK_2(UIS9GrayStateOpacityTest::sliderEvent, this));
1176 _uiLayer->addChild(slider);
1177
1178 return true;
1179 }
1180 return false;
1181}
void sliderEvent(cocos2d::Ref *sender, cocos2d::ui::Slider::EventType type)
cocos2d::Layer * _uiLayer
Definition: UIScene.h:44
virtual bool init() override
Definition: UIScene.cpp:46

引用了 UIScene::_uiLayer, UIScene::init() , 以及 sliderEvent().

+ 函数调用图:

◆ sliderEvent()

void UIS9GrayStateOpacityTest::sliderEvent ( cocos2d::Ref *  sender,
cocos2d::ui::Slider::EventType  type 
)

在文件 UIScale9SpriteTest.cpp1183 行定义.

1184{
1185 if (type == Slider::EventType::ON_PERCENTAGE_CHANGED)
1186 {
1187 Slider* slider = dynamic_cast<Slider*>(sender);
1188 int percent = slider->getPercent();
1189 int maxPercent = slider->getMaxPercent();
1190 auto scale9Sprite = (Scale9Sprite*)this->getChildByName("GrayScale9");
1191 scale9Sprite->setOpacity(1.0 * percent / maxPercent * 255.0);
1192 }
1193}

被这些函数引用 init().

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

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