PuzzleSDK
SpritePolygonTest5类 参考

#include <SpritePolygonTest.h>

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

Public 成员函数

 CREATE_FUNC (SpritePolygonTest5)
 
 SpritePolygonTest5 ()
 
- 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
 

Protected 成员函数

virtual bool init () override
 
void initTouch ()
 
void loadDefaultSprites ()
 
void addSpritePolygon (const cocos2d::Vec2 &pos)
 
void update (float dt) override
 
- Protected 成员函数 继承自 SpritePolygonTestCase
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
virtual void onEnter () override
 
virtual void onExit () override
 
 SpritePolygonTestCase ()
 
 ~SpritePolygonTestCase ()
 
void updateDrawNode ()
 

Private 属性

cocos2d::PolygonInfo _polygonInfo
 
int _tagIndex
 

额外继承的成员函数

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

详细描述

在文件 SpritePolygonTest.h106 行定义.

构造及析构函数说明

◆ SpritePolygonTest5()

SpritePolygonTest5::SpritePolygonTest5 ( )

在文件 SpritePolygonTest.cpp421 行定义.

422{
423 _title = "SpritePolygon Actions";
424 _subtitle = "Touch screen to add sprite with random action.";
425 _tagIndex = 100;
426}

引用了 SpritePolygonTestCase::_subtitle, _tagIndex , 以及 SpritePolygonTestCase::_title.

成员函数说明

◆ addSpritePolygon()

void SpritePolygonTest5::addSpritePolygon ( const cocos2d::Vec2 &  pos)
protected

在文件 SpritePolygonTest.cpp485 行定义.

486{
487 auto sprite = Sprite::create(_polygonInfo);
488 sprite->setTag(_tagIndex);
489 _tagIndex++;
490 sprite->setPosition(pos);
491 this->addChild(sprite);
492 auto drawNode = DrawNode::create();
493 _drawNodes.pushBack(drawNode);
494 drawNode->setTag(sprite->getTag());
495 drawNode->clear();
496 sprite->addChild(drawNode);
497
498 ActionInterval* action;
499 float random = CCRANDOM_0_1();
500 if( random < 0.20 )
501 action = ScaleBy::create(3, 2);
502 else if(random < 0.40)
503 action = RotateBy::create(3, 360);
504 else if( random < 0.60)
505 action = Blink::create(1, 3);
506 else if( random < 0.8 )
507 action = TintBy::create(2, 0, -255, -255);
508 else
509 action = FadeOut::create(2);
510 auto seq = Sequence::create( action, action->reverse(), nullptr );
511 sprite->runAction(RepeatForever::create(seq));
512}
cocos2d::PolygonInfo _polygonInfo
cocos2d::Vector< cocos2d::DrawNode * > _drawNodes

引用了 SpritePolygonTestCase::_drawNodes, _polygonInfo , 以及 _tagIndex.

被这些函数引用 initTouch().

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

◆ CREATE_FUNC()

SpritePolygonTest5::CREATE_FUNC ( SpritePolygonTest5  )

◆ init()

bool SpritePolygonTest5::init ( )
overrideprotectedvirtual

重载 SpritePolygonTestCase .

在文件 SpritePolygonTest.cpp428 行定义.

429{
431 {
432 _polygonInfo = AutoPolygon::generatePolygon(s_pathGrossini);
434 initTouch();
435 scheduleUpdate();
436 return true;
437 }
438 return false;
439}
virtual bool init() override
static const char s_pathGrossini[]
Definition: testResource.h:28

引用了 _polygonInfo, SpritePolygonTestCase::init(), initTouch(), loadDefaultSprites() , 以及 s_pathGrossini.

+ 函数调用图:

◆ initTouch()

void SpritePolygonTest5::initTouch ( )
protected

在文件 SpritePolygonTest.cpp441 行定义.

442{
443 auto touchListener = EventListenerTouchOneByOne::create();
444 touchListener->onTouchBegan = [&](Touch* touch, Event* event){
445 return true;
446 };
447 touchListener->onTouchEnded = [&](Touch* touch, Event* event){
448 auto pos = touch->getLocation();
449 addSpritePolygon(pos);
450 };
451 _eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);
452}
void addSpritePolygon(const cocos2d::Vec2 &pos)

引用了 addSpritePolygon().

被这些函数引用 init().

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

◆ loadDefaultSprites()

void SpritePolygonTest5::loadDefaultSprites ( )
protected

在文件 SpritePolygonTest.cpp454 行定义.

455{
456 auto s = Director::getInstance()->getVisibleSize();
457
458 const int DEFAULT_SPRITEPOLYGON_COUNT = 8;
459 Sprite* sprites[DEFAULT_SPRITEPOLYGON_COUNT];
460
461 for (int i = 0; i < DEFAULT_SPRITEPOLYGON_COUNT; i++) {
462 sprites[i] = Sprite::create(_polygonInfo);
463 sprites[i]->setTag(_tagIndex);
464 _tagIndex++;
465 sprites[i]->setPosition(s.width * CCRANDOM_0_1(), s.height * CCRANDOM_0_1());
466 this->addChild(sprites[i]);
467 auto drawNode = DrawNode::create();
468 _drawNodes.pushBack(drawNode);
469 drawNode->setTag(sprites[i]->getTag());
470 drawNode->clear();
471 sprites[i]->addChild(drawNode);
472 }
473 sprites[0]->setColor(Color3B::RED);
474 sprites[1]->setOpacity(100);
475 sprites[2]->setTexture(Director::getInstance()->getTextureCache()->addImage("Images/grossinis_sister1.png"));
476 sprites[3]->setTextureRect(Rect(0.0f,0.0f,100.0f,30.0f));
477 sprites[4]->setScale(0.5f, 2.0f);
478 sprites[5]->setFlippedY(true);
479 sprites[6]->setSkewX(60);
480 sprites[7]->setRotation(90);
481
483}

引用了 SpritePolygonTestCase::_drawNodes, _polygonInfo, _tagIndex , 以及 SpritePolygonTestCase::updateDrawNode().

被这些函数引用 init().

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

◆ update()

void SpritePolygonTest5::update ( float  dt)
overrideprotected

在文件 SpritePolygonTest.cpp514 行定义.

515{
517}

引用了 SpritePolygonTestCase::updateDrawNode().

+ 函数调用图:

类成员变量说明

◆ _polygonInfo

cocos2d::PolygonInfo SpritePolygonTest5::_polygonInfo
private

在文件 SpritePolygonTest.h118 行定义.

被这些函数引用 addSpritePolygon(), init() , 以及 loadDefaultSprites().

◆ _tagIndex

int SpritePolygonTest5::_tagIndex
private

在文件 SpritePolygonTest.h119 行定义.

被这些函数引用 addSpritePolygon(), loadDefaultSprites() , 以及 SpritePolygonTest5().


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