regarding 'reshapeProjection'

regarding 'reshapeProjection'
0.0 0



I’d like to ‘shrink’ my screen to run on iPhone3Gs.
Because my default screen is bigger than that of old iPhone3Gs,
I was trying to call ‘setContentScaleFactor’ with scale factor less than 1.f,
but it causes a problem.

After some google search, I found there are other people who wanted what exactly I do
and already there is a solution.
[Matt Rix’s solution]

Could you consider supporting this issue on your next version?

Best regards.,



Matt Rix’s post is very very old. Both cocos2d-iphone & cocos2d-x have supported the feature “enable retina display”, via the switch CCDirector::enableRetinaDisplay(bool)
The documents are:
# cocos2d-x: [[How does cocos2d-x support multi-resolution]]
# cocos2d-iphone:[]=retina&s[]=display


Dear Walzer,

I may misunderstand your point, or made myself misunderstood
but the thing is this.

Iphone3g and under has smaller screen, nor retina display.
My game uses bigger than 800*600 which can not be shown
properly unless I Shrunk display projection for that devices.

And it seems there is no consideration for that case, unless I change the
source code of cocos2d-X itself. Is there I wonder?

Please let me know, Im just beginner in this field so I can miss points.



I think he wants to do the same thing these guys did.

On android don’t bother, android market supports multiple APKs and you can have a perfectly optimized 800x480, 480x320, 800x600 version selected before deploying.

On iOS just use the regular retina support, though in the end it’s a lot more work then on android you know =/


To make long story short,
I just want my iPad game screen to be projected exactly on the iPhone3 screen with minimum code change.

If I use enableRetinaDisplay, then all the Sprite and text positions and sizes become 2ice bigger
and further. Change all of my codes of hard-wired Size and Position information is not a good idea.

I think projecting a bigger screen into a smaller screen can be done with a little modification. Isn’t it?

I’ve just switched to your framework but, I was using other framework which stem from your cocos2d-x project,
(99% is same) and it shows my screen on the various screen with no problem, no separate position coordinates required.
So I think it is also possible with little changes in cocos2d-x.

Can anybody help this out there?


This isn’t android, you can’t do that. You can only make it an iphone only app and, last time I checked, users could zoom into it. Otherwise, do it manually.

Or switch to android =)