PuzzleSDK
TextureAsync类 参考

#include <Texture2dTest.h>

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

Public 成员函数

 CREATE_FUNC (TextureAsync)
 
virtual ~TextureAsync ()
 
virtual float getDuration () const override
 
void loadImages (float dt)
 
void imageLoaded (cocos2d::Texture2D *texture)
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
virtual void onEnter () override
 
- Public 成员函数 继承自 TextureDemo
virtual ~TextureDemo ()
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual Type getTestType () 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 属性

int _imageOffset
 

额外继承的成员函数

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

详细描述

在文件 Texture2dTest.h404 行定义.

构造及析构函数说明

◆ ~TextureAsync()

TextureAsync::~TextureAsync ( )
virtual

在文件 Texture2dTest.cpp1504 行定义.

1505{
1506 auto textureCache = Director::getInstance()->getTextureCache();
1507 textureCache->unbindAllImageAsync();
1508 textureCache->removeAllTextures();
1509}

成员函数说明

◆ CREATE_FUNC()

TextureAsync::CREATE_FUNC ( TextureAsync  )

◆ getDuration()

virtual float TextureAsync::getDuration ( ) const
inlineoverridevirtual

Returns the time the test case needs.

重载 TestCase .

在文件 Texture2dTest.h410 行定义.

410{ return 5.0f; }

◆ imageLoaded()

void TextureAsync::imageLoaded ( cocos2d::Texture2D *  texture)

在文件 Texture2dTest.cpp1530 行定义.

1531{
1532 auto director = Director::getInstance();
1533
1534 //CCASSERT( [NSThread currentThread] == [director runningThread], @"FAIL. Callback should be on cocos2d thread");
1535
1536 // IMPORTANT: The order on the callback is not guaranteed. Don't depend on the callback
1537
1538 // This test just creates a sprite based on the Texture
1539
1540 auto sprite = Sprite::createWithTexture(texture);
1541 sprite->setAnchorPoint(Vec2(0,0));
1542 addChild(sprite, -1);
1543
1544 auto size = director->getWinSize();
1545 int i = _imageOffset * 32;
1546 sprite->setPosition(Vec2( i % (int)size.width, (i / (int)size.width) * 32 ));
1547
1548 _imageOffset++;
1549
1550 log("Image loaded: %p", texture);
1551}

引用了 _imageOffset.

被这些函数引用 loadImages().

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

◆ loadImages()

void TextureAsync::loadImages ( float  dt)

在文件 Texture2dTest.cpp1511 行定义.

1512{
1513 auto textureCache = Director::getInstance()->getTextureCache();
1514 for( int i=0;i < 8;i++) {
1515 for( int j=0;j < 8; j++) {
1516 char szSpriteName[100] = {0};
1517 sprintf(szSpriteName, "Images/sprites_test/sprite-%d-%d.png", i, j);
1518 textureCache->addImageAsync(szSpriteName, CC_CALLBACK_1(TextureAsync::imageLoaded, this));
1519 }
1520 }
1521
1522 textureCache->addImageAsync("Images/background1.jpg", CC_CALLBACK_1(TextureAsync::imageLoaded, this));
1523 textureCache->addImageAsync("Images/background2.jpg", CC_CALLBACK_1(TextureAsync::imageLoaded, this));
1524 textureCache->addImageAsync("Images/background.png", CC_CALLBACK_1(TextureAsync::imageLoaded, this));
1525 textureCache->addImageAsync("Images/atlastest.png", CC_CALLBACK_1(TextureAsync::imageLoaded, this));
1526 textureCache->addImageAsync("Images/grossini_dance_atlas.png", CC_CALLBACK_1(TextureAsync::imageLoaded, this));
1527}
void imageLoaded(cocos2d::Texture2D *texture)

引用了 imageLoaded().

被这些函数引用 onEnter().

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

◆ onEnter()

void TextureAsync::onEnter ( )
overridevirtual

重载 TextureDemo .

在文件 Texture2dTest.cpp1484 行定义.

1485{
1487
1488 _imageOffset = 0;
1489
1490 auto size = Director::getInstance()->getWinSize();
1491
1492 auto label = Label::createWithTTF("Loading...", "fonts/Marker Felt.ttf", 32);
1493 label->setPosition(Vec2( size.width/2, size.height/2));
1494 addChild(label, 10);
1495
1496 auto scale = ScaleBy::create(0.3f, 2);
1497 auto scale_back = scale->reverse();
1498 auto seq = Sequence::create(scale, scale_back, nullptr);
1499 label->runAction(RepeatForever::create(seq));
1500
1501 scheduleOnce(CC_SCHEDULE_SELECTOR(TextureAsync::loadImages), 1.0f);
1502}
void loadImages(float dt)
virtual void onEnter() override

引用了 _imageOffset, loadImages() , 以及 TextureDemo::onEnter().

+ 函数调用图:

◆ subtitle()

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

重载 TestCase .

在文件 Texture2dTest.cpp1558 行定义.

1559{
1560 return "Textures should load while an animation is being run";
1561}

◆ title()

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

重载 TestCase .

在文件 Texture2dTest.cpp1553 行定义.

1554{
1555 return "Texture Async Load";
1556}

类成员变量说明

◆ _imageOffset

int TextureAsync::_imageOffset
private

在文件 Texture2dTest.h417 行定义.

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


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