Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / sprite moving offscreen

Author
Message
Allen#21
16
Years of Service
User Offline
Joined: 11th May 2008
Location:
Posted: 31st May 2008 17:51
right after i debug my game my sprite quickly moves up and off the screen not 2 be seen again. i need it 2 stay still somehow
Slayer 706
16
Years of Service
User Offline
Joined: 18th May 2008
Location:
Posted: 2nd Jun 2008 00:49
Post the code in code tags.
Allen#21
16
Years of Service
User Offline
Joined: 11th May 2008
Location:
Posted: 4th Jun 2008 00:11
// Dark GDK - The Game Creators - www.thegamecreators.com

// the wizard has created a very simple 2D project that uses Dark GDK
// it can be used as a starting point in making your own 2D games

// whenever using Dark GDK you must ensure you include the header file
#include "DarkGDK.h"

// the main entry point for the application is this function
void DarkGDK ( void )
{
// in this application a backdrop is loaded and then several
// animated sprites are displayed on screen

// when starting a Dark GDK program it is useful to set global
// application properties, we begin by turning the sync rate on,
// this means we control when the screen is updated, we also set
// the maximum rate to 60 which means the maximum frame rate will
// be set at 60 frames per second
dbSyncOn ( );
dbSyncRate ( 60 );

// a call is made to this function so we can stop the GDK from
// responding to the escape key, we can then add in some code in our
// main loop so we can control what happens when the escape key is pressed
dbDisableEscapeKey ( );

// now we will set the random seed value to the timer, this will
// help us to get more random values each time we run the program
dbRandomize ( dbTimer ( ) );

// we are going to display a backdrop for the scene, to do this
// we load our image and give it an ID number of 1, this particular
// image is of a sky at night with stars
dbLoadImage ( "stickman.bmp", 1 );

// the next step is to create a sprite that uses this image, this
// is achieved by calling dbSprite and passing in a value of 1 for the
// sprites ID, 0 for the X coordinate, 0 for the Y coordinates and a
// value of 1 for the image
dbSprite ( 1, 0, 0, 1 );

// next we will load in some animated sprites, before doing this
// we need to adjust the image color key, by using this function we
// can make a specific color be transparent, in our case we want this
// to be bright pink
dbSetImageColorKey ( 255, 0, 255 );

// in this loop we're going to create some animated sprites, the image
// we load contains frames of animation for an asteroid
for ( int i = 2; i < 30; i++ )
{
// create an animated sprite and give it the ID number from the
// variable i, next is the filename, now we come to how many frames
// across and down, in our case this is 4, finally we come to the image
// ID that the sprite will use, again we use i
dbCreateAnimatedSprite ( i, "Stickwalk.bmp", 2, 1, i );

// position our sprite at a random location
dbSprite ( g, 100 , 100, g );
dbSetPlayerFrame ( 1 , iPlayerFrame );
dbSetSpritePriority ( 1 , 2 );
}

// now we come to our main loop, we call LoopGDK so some internal
// work can be carried out by the GDK
while ( LoopGDK ( ) )
{
// run a loop through all our sprites
for ( int i = 2; i < 30; i++ )
{
// move the sprite down and play its animation
// moving from frame 1 to 16 with a delay of 30 ms
dbPlaySprite ( i, 1, 16, 30 );


// check the position of the sprite, if it has gone off scren
// then reposition it back to the top
if ( dbSpriteY ( i ) > 500 )
dbSprite ( i, dbRnd ( 640 ), -dbRnd ( 1500 ), i );
}

//NOW: let's make our sprite move on user input!//
int SDS = 1;
while ( LoopGDK () )
{

if(dbDownKey())//do something on user input
{
dbMoveSprite ( g, -10 );

}
if(dbUpKey())//do something different on different user input
{
dbMoveSprite ( g, 10 );

}
if(dbRightKey())
{
dbMoveSprite (l, 10);

}
if(dbLeftKey())
{
dbMoveSprite( l, -10 );

}


// here we check if the escape key has been pressed, when it has
// we will break out of the loop
if ( dbEscapeKey ( ) )
break;

// here we make a call to update the contents of the screen
dbSync ( );
}

// when the user presses escape the code will break out to this location
// and we can free up any previously allocated resources

// delete all the sprites
for ( int i = 1; i < 30; i++ )
dbDeleteSprite ( i );

// delete the backdrop image
dbDeleteImage ( 1 );

// and now everything is ready to return back to Windows
return;
}

Login to post a reply

Server time is: 2024-09-29 21:28:55
Your offset time is: 2024-09-29 21:28:55