Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7820813
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 2, 20262026-06-02T07:26:22+00:00 2026-06-02T07:26:22+00:00

EDIT: following the first answer I have looked more into stackoverflow and rephrased the

  • 0

EDIT: following the first answer I have looked more into stackoverflow and rephrased the problem as °how can I use only hd files?” and found this: How do I stop Cocos2D from requiring standard definition resources (SD images)? I will now try the proposed solution and if it works I will leave the edited title and remove the initial question that might be misleading.

is a while that I am trying to learn Cocos2d and using books like cookbook and learn cocos2d. Those are a great start but sometimes I get stuck into problems like the one I will try to explain today.

I started modifying the example on using CCParallaxNode in book 1 at page 66. My goal is to add four layers of the following size: 960 pixel tall and 1280 pixel widht running on an iPhone simulator with iOS 5.0 and with Cocos2d 1.01 rc library.

I did create a new project using the templates installed and modified the HelloWorldLayer.m class as following:

// Import the interfaces
#import "HelloWorldLayer.h"

// HelloWorldLayer implementation
@implementation HelloWorldLayer
+(CCScene *) scene
{
    // 'scene' is an autorelease object.
    CCScene *scene = [CCScene node];

    // 'layer' is an autorelease object.
    HelloWorldLayer *layer = [HelloWorldLayer node];

    // add layer as a child to scene
    [scene addChild: layer];

    // return the scene
    return scene;
}

// on "init" you need to initialize your instance
-(id) init
{
    // always call "super" init
    // Apple recommends to re-assign "self" with the "super" return value
    if( (self=[super init])) {

        CCSprite* parallaxLayer01 = [CCSprite spriteWithFile:@"0-hd-red.png"];  
        CCSprite* parallaxLayer02 = [CCSprite spriteWithFile:@"0-hd-red.png"];
        CCSprite* parallaxLayer03 = [CCSprite spriteWithFile:@"0-hd-red.png"];
        CCSprite* parallaxLayer04 = [CCSprite spriteWithFile:@"0-hd-red.png"];  

        /**
        CCSprite* parallaxLayer01 = [CCSprite spriteWithFile:@"0-hd.png"];  
        CCSprite* parallaxLayer02 = [CCSprite spriteWithFile:@"1-hd.png"];
        CCSprite* parallaxLayer03 = [CCSprite spriteWithFile:@"2-hd.png"];
        CCSprite* parallaxLayer04 = [CCSprite spriteWithFile:@"3-hd.png"];    
      **/

        /**
         CCSprite* parallaxLayer01 = [CCSprite spriteWithFile:@"2-hd.png"]; 
        CCSprite* parallaxLayer02 = [CCSprite spriteWithFile:@"2-hd.png"];
        CCSprite* parallaxLayer03 = [CCSprite spriteWithFile:@"2-hd.png"];
        CCSprite* parallaxLayer04 = [CCSprite spriteWithFile:@"2-hd.png"];    

**/
        /**
        CCSprite* parallaxLayer01 = [CCSprite spriteWithFile:@"bar.png"];   
        CCSprite* parallaxLayer02 = [CCSprite spriteWithFile:@"bar.png"];
        CCSprite* parallaxLayer03 = [CCSprite spriteWithFile:@"bar.png"];
        CCSprite* parallaxLayer04 = [CCSprite spriteWithFile:@"bar.png"];    
        **/
        /**
        CCSprite* parallaxLayer01 = [CCSprite spriteWithFile:@"bar-hd.png"];    
        CCSprite* parallaxLayer02 = [CCSprite spriteWithFile:@"bar-hd.png"];
        CCSprite* parallaxLayer03 = [CCSprite spriteWithFile:@"bar-hd.png"];
        CCSprite* parallaxLayer04 = [CCSprite spriteWithFile:@"bar-hd.png"];    
        **/

        //Create a parallax node and add all four sprites
        CCParallaxNode* parallaxNode = [CCParallaxNode node];
        [parallaxNode setPosition:ccp(0,0)];
        [parallaxNode addChild:parallaxLayer01 z:1 parallaxRatio:ccp(0, 0) positionOffset:ccp(0,0)];
        [parallaxNode addChild:parallaxLayer02 z:2 parallaxRatio:ccp(1, 0) positionOffset:ccp(0,0)];
        [parallaxNode addChild:parallaxLayer03 z:3 parallaxRatio:ccp(2, 0) positionOffset:ccp(0,0)];
        [parallaxNode addChild:parallaxLayer04 z:4 parallaxRatio:ccp(3, 0) positionOffset:ccp(0,0)];
        [self addChild:parallaxNode z:0 tag:1];

        //Move the node to the left then the right
        //This creates the effect that we are moving to the right then the left
        CCMoveBy* moveRight = [CCMoveBy actionWithDuration:5.0f position:ccp(-80, 0)];
        CCMoveBy* moveLeft = [CCMoveBy actionWithDuration:2.5f position:ccp(80, 0)];
        CCSequence* sequence = [CCSequence actions:moveRight, moveLeft, nil];
        CCRepeatForever* repeat = [CCRepeatForever actionWithAction:sequence];
        [parallaxNode runAction:repeat];

    }
    return self;
}

// on "dealloc" you need to release all your retained objects
- (void) dealloc
{
    // in case you have something to dealloc, do it in this method
    // in this particular example nothing needs to be released.
    // cocos2d will automatically release all the children (Label)

    // don't forget to call "super dealloc"
    [super dealloc];
}
@end

I did try to run the code using 4, a PNG image with alpha channel created using GIMP. It did work initially and now doesn’t anymore. I am not sure on what I did to mess up.

The weird thing is that the with image 5 it does work.

I have checked and there are limits on the UIImage specification that suggest to use a 1024 x 1024 image. So I did and rescaled image 6 and created image reduced image 3 which is within the limit specified by UIImage but does not work.

For not work I mean that the code crashes with the following error message:

2012-04-19 17:14:29.189 ParallaxNodeTest[3713:10a03] cocos2d: cocos2d v1.0.1
2012-04-19 17:14:29.190 ParallaxNodeTest[3713:10a03] cocos2d: Using Director Type:CCDirectorDisplayLink
2012-04-19 17:14:29.226 ParallaxNodeTest[3713:10a03] cocos2d: OS version: 5.1 (0x05010000)
2012-04-19 17:14:29.227 ParallaxNodeTest[3713:10a03] cocos2d: GL_VENDOR:   Apple Computer, Inc.
2012-04-19 17:14:29.228 ParallaxNodeTest[3713:10a03] cocos2d: GL_RENDERER: Apple Software Renderer
2012-04-19 17:14:29.229 ParallaxNodeTest[3713:10a03] cocos2d: GL_VERSION:  OpenGL ES-CM 1.1 APPLE
2012-04-19 17:14:29.229 ParallaxNodeTest[3713:10a03] cocos2d: GL_MAX_TEXTURE_SIZE: 4096
2012-04-19 17:14:29.230 ParallaxNodeTest[3713:10a03] cocos2d: GL_MAX_MODELVIEW_STACK_DEPTH: 16
2012-04-19 17:14:29.231 ParallaxNodeTest[3713:10a03] cocos2d: GL_MAX_SAMPLES: 4
2012-04-19 17:14:29.233 ParallaxNodeTest[3713:10a03] cocos2d: GL supports PVRTC: YES
2012-04-19 17:14:29.234 ParallaxNodeTest[3713:10a03] cocos2d: GL supports BGRA8888 textures: YES
2012-04-19 17:14:29.235 ParallaxNodeTest[3713:10a03] cocos2d: GL supports NPOT textures: YES
2012-04-19 17:14:29.235 ParallaxNodeTest[3713:10a03] cocos2d: GL supports discard_framebuffer: YES
2012-04-19 17:14:29.235 ParallaxNodeTest[3713:10a03] cocos2d: compiled with NPOT support: NO
2012-04-19 17:14:29.236 ParallaxNodeTest[3713:10a03] cocos2d: compiled with VBO support in TextureAtlas : YES
2012-04-19 17:14:29.236 ParallaxNodeTest[3713:10a03] cocos2d: compiled with Affine Matrix transformation in CCNode : YES
2012-04-19 17:14:29.237 ParallaxNodeTest[3713:10a03] cocos2d: compiled with Profiling Support: NO
2012-04-19 17:14:29.268 ParallaxNodeTest[3713:10a03] cocos2d: surface size: 960x640
2012-04-19 17:14:29.336 ParallaxNodeTest[3713:10a03] cocos2d: Filename(0-hd-red.png) contains -hd suffix. Removing it. See cocos2d issue #1040
2012-04-19 17:14:29.337 ParallaxNodeTest[3713:10a03] cocos2d: CCFileUtils: Warning HD file not found: 0-red-hd.png
2012-04-19 17:14:29.338 ParallaxNodeTest[3713:10a03] cocos2d: CCTexture2D. Can't create Texture. UIImage is nil
2012-04-19 17:14:29.339 ParallaxNodeTest[3713:10a03] cocos2d: Couldn't add image:0-red.png in CCTextureCache
2012-04-19 17:14:29.340 ParallaxNodeTest[3713:10a03] cocos2d: Filename(0-hd-red.png) contains -hd suffix. Removing it. See cocos2d issue #1040
2012-04-19 17:14:29.340 ParallaxNodeTest[3713:10a03] cocos2d: CCFileUtils: Warning HD file not found: 0-red-hd.png
2012-04-19 17:14:29.341 ParallaxNodeTest[3713:10a03] cocos2d: CCTexture2D. Can't create Texture. UIImage is nil
2012-04-19 17:14:29.342 ParallaxNodeTest[3713:10a03] cocos2d: Couldn't add image:0-red.png in CCTextureCache
2012-04-19 17:14:29.342 ParallaxNodeTest[3713:10a03] cocos2d: Filename(0-hd-red.png) contains -hd suffix. Removing it. See cocos2d issue #1040
2012-04-19 17:14:29.343 ParallaxNodeTest[3713:10a03] cocos2d: CCFileUtils: Warning HD file not found: 0-red-hd.png
2012-04-19 17:14:29.344 ParallaxNodeTest[3713:10a03] cocos2d: CCTexture2D. Can't create Texture. UIImage is nil
2012-04-19 17:14:29.345 ParallaxNodeTest[3713:10a03] cocos2d: Couldn't add image:0-red.png in CCTextureCache
2012-04-19 17:14:29.345 ParallaxNodeTest[3713:10a03] cocos2d: Filename(0-hd-red.png) contains -hd suffix. Removing it. See cocos2d issue #1040
2012-04-19 17:14:29.346 ParallaxNodeTest[3713:10a03] cocos2d: CCFileUtils: Warning HD file not found: 0-red-hd.png
2012-04-19 17:14:29.365 ParallaxNodeTest[3713:10a03] cocos2d: CCTexture2D. Can't create Texture. UIImage is nil
2012-04-19 17:14:29.366 ParallaxNodeTest[3713:10a03] cocos2d: Couldn't add image:0-red.png in CCTextureCache
2012-04-19 17:14:29.367 ParallaxNodeTest[3713:10a03] *** Assertion failure in -[CCParallaxNode addChild:z:parallaxRatio:positionOffset:], /Users/daniele/Desktop/ParallaxNodeTest/ParallaxNodeTest/libs/cocos2d/CCParallaxNode.m:91
2012-04-19 17:14:29.369 ParallaxNodeTest[3713:10a03] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Argument must be non-nil'
*** First throw call stack:
(0x19e2022 0x1f7ccd6 0x198aa48 0x11af2cb 0x40661 0xb588e 0x3ba25 0xb5632 0xb4d3e 0x8164be 0x817274 0x826183 0x826c38 0x81a634 0x279aef5 0x19b6195 0x191aff2 0x19198da 0x1918d84 0x1918c9b 0x816c65 0x818626 0xb4816 0x24b5 0x1)

I think that the image size is not the issue here as I was previously able to run but the fact that it works with the image 5 and not with the other images 6 suggests me that is something to do with how I created the PNG files using GIMP..

Any glue? I attach the screenshot of the GIMP settings 4 I am using (not in English, will provide translation below):

Thick on:
Save colour as background, save resolution, save date of creation, save comments and save value of colors of transparents dots.

Not thicked:
Interlacment (Adam7), save gamma, save layer move

settings

bar
badimage

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-02T07:26:23+00:00Added an answer on June 2, 2026 at 7:26 am

    In order to use retina images, you must include both the -hd and non-hd files with your project. They don’t have to necessarily be the proper sizes, but they must both exist.

    So if you want to use a file called 0-red.png, you must include 0-red.png and 0-red-hd.png. Also, take note to have the -hd be at the end of the filename.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm facing the following problem and don't have an answer to it: We have
EDIT: I am basically running into the following documented issue . I am using
[Edit] I've summarized the answer to the following below, the error lies in the
EDIT: OK, I believe the following solutions are valid: Use the jQuery AOP plugin.
I have this following code: if (userValueSom01 == realResult01) { //answer = correct //count
EDIT : see bottom First off I searched for an answer before asking this
I have the following lines of code: def edit = { if (session.user.id !=
Following is my problem: I have a custom UserControl in my Windows Forms Project.
Edit: I have looked at the answers code: NONE of them do what I
Edit: I have added an answer on how to fix this in case someone

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.