for my mini game im creating its got a 3d menu that the camera rotates around one point. ill be happy to give you the code
//globals
GameRoomWidth=/*half of the width of the playing area*/
GameRoomHeight=/*half of the width of the playing are*/
//use the function below to set camera position at 0 , 256 , 0
dbPositionCamera ( 1, 0, 256, 0 );
void MenuUpdate() //update the camera
{
//camera move
dbYRotateCamera ( 1 , dbCameraAngleY( 1 ) -90 );
dbMoveCamera ( 1 , 3 );
dbPointCamera ( 1, GameRoomWidth/2 , 12 , GameRoomHeight/2 );
dbPositionCamera ( 1 , dbCameraPositionX ( 1 ), 128+ZHeight ,dbCameraPositionZ ( 1 ));
//camera goes up and down betweem 128 and 256
if (ZChange==false)
{
if ( ZHeight>=128 )
{ZChange=true;}
else
{ZHeight++;}
}
else
{
if ( ZHeight<=0 )
{ZChange=false;}
else
{ZHeight--;}
}
}
ZHeight used for making the camera going up and down. remove if you like.
place the camera at X=0 and Z=0 and Y=256
then it rotates around in a circle looking at the middle point of the room.
Problem Solution That Never Fails: "Build A Bridge And Get Over It"