Reputation: 1229
Here is my code...
CCSprite *u = [CCSprite spriteWithFile:@"1_S.png" rect:CGRectMake(0, 0, 27, 27)];
u.position = ccp((45.7*i+45.7*(i+1))/2, 467);
u.tag = i;
[self addChild:u];
and in my resource folder i have 2 image files named
1_S.png
and
.As i read the the doc
i think when i run this code in iPhone 4 the image named
should load...but it isn't.....the first image is loaded.....why?? IS THIS ANY VERSION PROBLEM???
Upvotes: 0
Views: 641
Reputation: 2300
there is a bug in the OS4 code preventing retina display from working with cocos2d
See this link regarding issue 910:
http://www.cocos2d-iphone.org/wiki/doku.php/release_notes:0_99_4#
Issue #910 is still open.
The workaround is to edit CCTextureCache.m and make the following changes:
//# work around for issue #910
#if 0 // <---- change it to #if 1
UIImage *image = [UIImage imageNamed:path];
tex = [ [CCTexture2D alloc] initWithImage: image ];
#else
// prevents overloading the autorelease pool
UIImage *image = [ [UIImage alloc] initWithContentsOfFile: fullpath ];
tex = [ [CCTexture2D alloc] initWithImage: image ];
[image release];
#endif //
Again, issue #910 is not a cocos2d bug, but an iOS4 bug. ”@2x” images are not loaded if you use UIImage initWithContentOffile (but the documentation says it should work). So the work around is to use UIImage imageNamed, but it is not enabled by default because it will consume much more memory.
Upvotes: 1