PuzzleSDK
SpriteBatchNodeReorderOneChild类 参考

#include <SpriteTest.h>

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

Public 成员函数

 CREATE_FUNC (SpriteBatchNodeReorderOneChild)
 
 SpriteBatchNodeReorderOneChild ()
 SpriteBatchNodeReorderOneChild 更多...
 
void reorderSprite (float dt)
 
virtual std::string title () const override
 
- 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
 
virtual void onEnter () override
 

Private 属性

cocos2d::SpriteBatchNode * _batchNode
 
cocos2d::Sprite * _reorderSprite
 

额外继承的成员函数

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

详细描述

在文件 SpriteTest.h692 行定义.

构造及析构函数说明

◆ SpriteBatchNodeReorderOneChild()

SpriteBatchNodeReorderOneChild::SpriteBatchNodeReorderOneChild ( )

SpriteBatchNodeReorderOneChild

在文件 SpriteTest.cpp4397 行定义.

4398{
4399 auto s = Director::getInstance()->getWinSize();
4400
4401 SpriteFrameCache::getInstance()->addSpriteFramesWithFile("animations/ghosts.plist");
4402
4403 SpriteBatchNode *aParent;
4404 Sprite *l1, *l2a, *l2b, *l3a1, *l3a2, *l3b1, *l3b2;
4405
4406 //
4407 // SpriteBatchNode: 3 levels of children
4408 //
4409
4410 aParent = SpriteBatchNode::create("animations/ghosts.png");
4411
4412 _batchNode = aParent;
4413 //[[aParent texture] generateMipmap];
4414 addChild(aParent);
4415
4416 // parent
4417 l1 = Sprite::createWithSpriteFrameName("father.gif");
4418 l1->setPosition(Vec2( s.width/2, s.height/2));
4419
4420 aParent->addChild(l1);
4421 auto l1Size = l1->getContentSize();
4422
4423 // child left
4424 l2a = Sprite::createWithSpriteFrameName("sister1.gif");
4425 l2a->setPosition(Vec2( -10 + l1Size.width/2, 0 + l1Size.height/2));
4426
4427 l1->addChild(l2a, 1);
4428 auto l2aSize = l2a->getContentSize();
4429
4430
4431 // child right
4432 l2b = Sprite::createWithSpriteFrameName("sister2.gif");
4433 l2b->setPosition(Vec2( +50 + l1Size.width/2, 0 + l1Size.height/2));
4434
4435 l1->addChild(l2b, 2);
4436 auto l2bSize = l2a->getContentSize();
4437
4438
4439 // child left bottom
4440 l3a1 = Sprite::createWithSpriteFrameName("child1.gif");
4441 l3a1->setScale(0.45f);
4442 l3a1->setPosition(Vec2(0+l2aSize.width/2,-50+l2aSize.height/2));
4443 l2a->addChild(l3a1, 1);
4444
4445 // child left top
4446 l3a2 = Sprite::createWithSpriteFrameName("child1.gif");
4447 l3a2->setScale(0.45f);
4448 l3a2->setPosition(Vec2(0+l2aSize.width/2,+50+l2aSize.height/2));
4449 l2a->addChild(l3a2, 2);
4450
4451 _reorderSprite = l2a;
4452
4453 // child right bottom
4454 l3b1 = Sprite::createWithSpriteFrameName("child1.gif");
4455 l3b1->setScale(0.45f);
4456 l3b1->setFlippedY(true);
4457 l3b1->setPosition(Vec2(0+l2bSize.width/2,-50+l2bSize.height/2));
4458 l2b->addChild(l3b1);
4459
4460 // child right top
4461 l3b2 = Sprite::createWithSpriteFrameName("child1.gif");
4462 l3b2->setScale(0.45f);
4463 l3b2->setFlippedY(true);
4464 l3b2->setPosition(Vec2(0+l2bSize.width/2,+50+l2bSize.height/2));
4465 l2b->addChild(l3b2);
4466
4467 scheduleOnce(CC_CALLBACK_1(SpriteBatchNodeReorderOneChild::reorderSprite, this), 2.0f, "reorder_sprite_key");
4468}
cocos2d::SpriteBatchNode * _batchNode
Definition: SpriteTest.h:700
cocos2d::Sprite * _reorderSprite
Definition: SpriteTest.h:701

引用了 _batchNode, _reorderSprite , 以及 reorderSprite().

+ 函数调用图:

成员函数说明

◆ CREATE_FUNC()

SpriteBatchNodeReorderOneChild::CREATE_FUNC ( SpriteBatchNodeReorderOneChild  )

◆ reorderSprite()

void SpriteBatchNodeReorderOneChild::reorderSprite ( float  dt)

在文件 SpriteTest.cpp4470 行定义.

4471{
4472 _reorderSprite->getParent()->reorderChild(_reorderSprite, -1);
4473
4474 _batchNode->sortAllChildren();
4475 //CCSprite* child;
4476 //CCARRAY_FOREACH(batchNode.descendants,child) NSLog(@"tag %i",child.tag);
4477}

引用了 _batchNode , 以及 _reorderSprite.

被这些函数引用 SpriteBatchNodeReorderOneChild().

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

◆ title()

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

重载 TestCase .

在文件 SpriteTest.cpp4479 行定义.

4480{
4481 return "SpriteBatchNode reorder 1 child";
4482}

类成员变量说明

◆ _batchNode

cocos2d::SpriteBatchNode* SpriteBatchNodeReorderOneChild::_batchNode
private

在文件 SpriteTest.h700 行定义.

被这些函数引用 reorderSprite() , 以及 SpriteBatchNodeReorderOneChild().

◆ _reorderSprite

cocos2d::Sprite* SpriteBatchNodeReorderOneChild::_reorderSprite
private

在文件 SpriteTest.h701 行定义.

被这些函数引用 reorderSprite() , 以及 SpriteBatchNodeReorderOneChild().


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