@paresh maybe this will help.
This sets the x,y,z of where the camera is in your world, just like positioning a camera that you could hold in the the real world.
camera->setPosition3D(Vec3(x,y,z);
The objX,objY,objZ are the object that the camera is looking at.
The second vector, upX,upY,upZ define effectively what the normalized up vector of the camera is. The default values most often used is 0.0,1.0,0.0, making the the positive Y axis point up on your screen.
camera->lookAt(Vec3(objX,objY,objZ), Vec3(upX,upY,upZ))
Another important thing to understand is the frustum you create with the following method. Do some research to see how an OpenGL frustum works. It will help a lot.
auto camera = Camera::createPerspective(float fieldOfView, float aspectRatio, float nearPlane, float farPlane);
The director defaults for this where size is the screen size in pixels:
Camera::createPerspective(60, (GLfloat)size.width/size.height, 10, zeye+size.height/2)
The above default sets a field of view of 60 degrees, an aspect ratio of screen width / screen height, a near plan of 10 pixels and a far plane of zeye+size.height/2. Not 100% how zeye is determined initially.
But, as an example to learn from, you could set the near plane to be 10 and the far plane to be 10,000.
Then you could put game objects in your world, maybe along a background plane of z = 0 and use the setPosition3D to position the camera and you can then zoom the camera in and out by adjusting the z value of the camera in the camera’s setPosition3D method. If your camera is more than 10,000 (the far plane setting) away from what it is looking at (i.e z=-11,000), the camera will not see what you tell it to look at. So your effective zoom range would be maybe from z=-9500 to z=-1000, depending on how far you want to zoom in and out on your 2d world. If the camera zooms in past the z=0, then the mirror image along the up axis will be seen (i.e camera z value set to +2000).