guys i think there is a mistake in my code but i dont know where. Can anybody tell me ??
here's my code.

#include "DarkGDK.h"
    #include "Inventor.h"
     
    void DarkGDK ( void )
    {
    dbSyncOn ( );
    dbSyncRate ( 60 );
    dbMaximizeWindow ();
    float fCameraAngleX = 0.0;
    float fCameraAngleY = 0.0;
    int ground;
    SetCurrentDirectory ( "media" );
    dbLoadObject ( "universe.dbo", 2 );
    dbSetObjectLight ( 2, 0 );
    dbLoadObject ( "skybox2.x", 3 );
    dbSetObjectLight ( 3, 0 );
    dbSetObjectTexture ( 3, 3, 2 );
    dbScaleObject ( 3, 5000, 5000, 5000 );
    dbLoadObject ( "Colonel-X.X", 1 );
    dbSetObjectSpeed ( 1, 100 );
    dbMoveObject ( 1, -130 );
    dbMoveObjectRight ( 1, 200 );
    dbSetObjectCollisionOn ( 1 );
    dbSetObjectCollisionOn ( 2 );
    dbSetGlobalCollisionOn ();
    while ( LoopGDK ( ) )
    {
    if ( dbUpKey() && dbShiftKey () ){
    dbLoopObject ( 1, 300, 318 );
    dbMoveObject ( 1, -5.0 );
    }else if ( dbUpKey () ){
    dbLoopObject ( 1, 235, 259 );
    dbMoveObject ( 1, -3.5 );
    }else if ( dbDownKey () ){
    dbLoopObject ( 1, 259, 235 );
    dbMoveObject ( 1, 3.5 );
    }else if ( dbRightKey () ){
    dbLoopObject ( 1, 280, 299 );
    dbMoveObjectLeft ( 1, 3.5 );
    }else if ( dbLeftKey () ){
    dbLoopObject ( 1, 260, 279 );
    dbMoveObjectRight ( 1, 3.5 );
    }else if ( dbSpaceKey () ){
    dbLoopObject ( 1, 190, 209 );
    dbMoveObjectUp ( 1, 3.5 );
    dbMoveObject ( 1, -3.5 );
    }else{
    dbLoopObject ( 1, 210, 234 );
    }
    while ( (ground = dbObjectCollision ( 1, 2 )) != 1 )
    {
    dbMoveObjectDown ( 1, 3.5 );
    }
    fCameraAngleX = dbWrapValue ( fCameraAngleX + dbMouseMoveY ( ) * 0.4f );
    fCameraAngleY = dbWrapValue ( fCameraAngleY + dbMouseMoveX ( ) * 0.4f );
    dbXRotateCamera ( fCameraAngleX );
    dbYRotateCamera ( fCameraAngleY );
    //dbRotateObject ( 1, 0, fCameraAngleY, 0 );
    dbPositionMouse ( dbScreenWidth () / 2, dbScreenHeight () / 2 );
    dbHideMouse ();
    dbPositionCamera ( dbObjectPositionX ( 1 ), dbObjectPositionY ( 1 ) + 50, dbObjectPositionZ ( 1 ) + 50 );
    dbSync ( );
    }
    return;
    }

i'm not an expert programmer so if you see any mistakes please tell me.8-)
This is in dark gdk code and you will have to copy colonel - x, universe, and skybox2 to your folder.
i made a media folder to make this task easier. :-)

Recommended Answers

All 2 Replies

Please be more explicit as to what this code is supposed to be doing, and what the error is.

well this code is supposed to be creating a player and a game level. the player walks through the game level.that's about all there is. but the problem is that gravity isn't working. when the player climbs up the stairs, it can't come back down. the player simply starts walking on air.

i think there is a problem in this part of the code but i don't know what. :-(

while ( (ground = dbObjectCollision ( 1, 2 )) != 1 )
{
dbMoveObjectDown ( 1, 3.5 );
}

any help is appreciated

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.