を使用して 2 セットのスプライトシートを作成しました。1つは/および/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
ファイル内のファイルの 1 つを使用してオブジェクトを作成してみました.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;
}
どうすればこれを修正できますか? どんな助けでも大歓迎です。