Я использую cocos2d. После загрузки ccspriteframecache и ccspritebatchnode я сделал ccsprite. Но мне нужен контент спрайта stage
.Cocos2d contentSize для спрайта не работает
Однако вместо этого он возвращает 480.000000, 320.000000, что составляет размер всего экрана. Мое изображение намного меньше.
[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:@"nBack.plist"];
CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"nBack.png"]
CCSprite *stage = [CCSprite spriteWithSpriteFrameName:@"nBack0001.png"];
stage.position = ccp(winSize.width /2, winSize.height/2);
CGSize stageSize = stage.contentSize;
NSLog(@"%f,%f", stageSize.width, stageSize.height);
[self addChild:stage z:1];
Есть ли способ получить «истинный» размер контента? Должен ли я обрезать все мои изображения вручную? – user1050548
Это зависит от того, как вы создаете свое изображение. Если вы начинаете с чистого, прозрачного изображения размером 480x320, а затем нарисуете на нем точку 10x10, контентное изображение этого изображения будет по-прежнему 480x320. В большинстве программ рисования есть возможность обрезать неиспользуемые (прозрачные) границы изображения, использовать эту функцию. – LearnCocos2D