Если вы не собираетесь использовать физику в своей игре, то очень просто вы найдете множество уроков по зуму / панорамированию, просто установите свой масштаб SCALE в коде масштабирования / панорамирования touchesMoved.
но если вы предпочитаете Angry Bird, то вы можете использовать физический движок Box2d / Chipmunk (поставляется с cocos2d), но для построения физического мира, такого как Angry birds, вам придется либо написать свой собственный редактор уровней, либо Вы можете использовать LevelSVG (разработчики Cocos2d), чтобы визуально создать мир в редакторе SVG и проанализировать его в BOX2d.
Что касается масштабирования / панорамирования с физическими телами в вашем мире, оно будет работать, пока ваш физический мир находится в вашем СЛОЕ, который вы пытаетесь масштабировать.
но я рекомендую перезаписать функцию VISIT вашего слоя, которую вы хотите масштабировать, и обрабатывать масштабирование либо glOrthof, либо glScalef