我使用 制作了两组精灵表TexturePacker
,一组称为objects-0.plist
/objects0-png
和objects-0-ipad.plist
/ objects-0-ipad.png
。他们每个人都有以下图像:
// objects-0.plist / objects-0.png
object-0-0.png : 50x50 PNG file
object-0-1.png : 50x50 PNG file
object-0-2.png : 50x50 PNG file
// objects-0-ipad.plist / objects-0-ipad.png
object-0-0-ipad.png : 100x100 PNG file
object-0-1-ipad.png : 100x100 PNG file
object-0-2-ipad.png : 100x100 PNG file
我已经CCSpriteFrameCache
像这样加载了这些:
bool AnimTest::init( ) {
if ( !CCLayer::init( ) ) return false;
CCSpriteFrameCache::sharedSpriteFrameCache( ) -> addSpriteFrameWithFile( "objects-0.plist" );
}
然后,我尝试CCSprite
使用文件中的一个文件制作一个对象.plist
。
bool AnimTest::init( ) {
if ( !CCLayer::init( ) ) return false;
CCSpriteFrameCache::sharedSpriteFrameCache( ) -> addSpriteFrameWithFile( "objects-0.plist" );
CCSprite * testSprite = CCSprite::createWithSpriteFrameName( "object-0-0.png" );
this -> addChild( testSprite );
return true;
}
如果我从 iPod/iPhone 运行这个,它工作正常。但是,如果我从 iPad 运行它,则会CCSprite::createWithSpriteFrameName( )
抛出assert
文件名无效的说法。
但是,如果我明确使用带有-ipad
后缀的文件,它可以正常工作,没有错误,这是应该的。
bool AnimTest::init( ) {
if ( !CCLayer::init( ) ) return false;
CCSpriteFrameCache::sharedSpriteFrameCache( ) -> addSpriteFrameWithFile( "objects-0-ipad.plist" );
CCSprite * testSprite = CCSprite::createWithSpriteFrameName( "object-0-0-ipad.png" );
this -> addChild( testSprite );
return true;
}
我怎样才能解决这个问题?任何帮助表示赞赏。