iphone - cocos2d CCMenu padding strange on retina device -
situation: i'm using [(ccmenu*)mymenu alignitemsverticallywithpadding:4.0f] layout several buttons (ccmenuitemsprite) vertically. on non-retina device padding appears expected, when in retina mode on simulator padding seems doubled. ideas why?
code:
ccmenuitemsprite *itemplay = [ccmenuitemsprite itemfromnormalsprite:[ccsprite spritewithspriteframename:@"play.png"] selectedsprite:nil target:self selector:@selector(goplay:)]; ccmenuitemsprite *itemhowto = [ccmenuitemsprite itemfromnormalsprite:[ccsprite spritewithspriteframename:@"howto.png"] selectedsprite:nil target:self selector:@selector(gohowto:)]; ccmenuitemsprite *itemsettings = [ccmenuitemsprite itemfromnormalsprite:[ccsprite spritewithspriteframename:@"settings.png"] selectedsprite:nil target:self selector:@selector(gosettings:)]; ccmenuitemsprite *itemhelp = [ccmenuitemsprite itemfromnormalsprite:[ccsprite spritewithspriteframename:@"help.png"] selectedsprite:nil target:self selector:@selector(gohelp:)]; ccmenu *mymenu = [ccmenu menuwithitems:itemplay,itemhowto,itemsettings,itemhelp, nil]; mymenu.position = ccp(160.0f,216.0f); [mymenu alignitemsverticallywithpadding:4.0f]; [self addchild: mymenu z:10];
update: i'd hate if no better solution exists:
float padding = 4.0f; // flag stored in app delegate know whether retina if([[appdelegate sharedappdelegate] isretina])padding = (2.0f); ccmenu *mymenu = [ccmenu menuwithitems:itemplay,itemhowto,itemsettings,itemhelp, nil]; mymenu.position = ccp(160.0f,216.0f); [mymenu alignitemsverticallywithpadding:padding]; [self addchild: mymenu z:10];
solved:
padding problem created setting in texturepacker. had 'inner padding' set value of 4px. removing setting fixed problem. see screenshot below:
Comments
Post a Comment