Jump to content

  • Log In with Google      Sign In   
  • Create Account


Applegenie

Member Since 17 Feb 2012
Offline Last Active Jun 22 2012 06:17 AM

Topics I've Started

Integrating Flash into a C++ project

21 June 2012 - 02:51 AM

Hello everyone,

About half a year ago, I started learning c++, using the SDL library. I've managed to obtain a fairly good understanding of the library, and the language as well, allowing me to create simple 2d games. Before I started with C++ however, I used to do all my projects in Actionscript 3.0. Now..this question might be a little noobish, but I thought that maybe one of you could point me in the right direction. Posted Image I noticed that a lot of games these days use Actionscript 3.0 and Flash to do their GUI.

The question is; How can I integrate my Actionscript 3.0 code into my C++ project? I've done a google search, but all the tutorials I encountered are a little bit out of my league. Just a link to an article that explains it from a beginners point of view, or something that can point me in the right direction would be helpful enough Posted Image.

Thanks in advance!

[SDL_GFX] Removing SDL_GFX primitives

04 June 2012 - 06:57 AM

Hello everyone Posted Image

Had a small question about the removal of primitives drawn using the SDL_GFX library. I know how to draw the primitive ( circleColor (destination, x, y, radian, color); for example ). However, I haven't really figured out a way to access the primitive after its creation been made. At the moment, the destination of the primitive is the screen. I've tried adding it to different surfaces, however..that didn't really seem to work out ( the program exploded ). Does anyone have any suggestions?

[C++] Alpha, Ugly borders around sprite

30 March 2012 - 06:42 AM

Hello everyone,

I'm still working on that platformer but I encountered another small issue regarding the sprites. I'm trying to cut out sprites from a spritesheet but once I do, these ugly borders persist around the sprite( I'm using a colorkey to remove the background colour ). My plan was just to, instead of using the color: 0, 0xFF, 0xFF as sprite background, to use a simple alpha instead of a background colour, therefor removing said ugly borders. My main problem is, that if I try to use a PNG ( using SDL_image for this ) with a transparent background, it doesn't show any kind of transparency once I load it in. Just a black box around said sprite.

To cut out my sprites, I use 2 for loops:
for(int i = 0; i < rightFrameAmount; i++)
{
  rcurrentFrame ++;
  clipsRight[rcurrentFrame].x = CHARACTER_WIDTH * i;
  clipsRight[rcurrentFrame].y = 0;
  clipsRight[rcurrentFrame].w = CHARACTER_WIDTH;
  clipsRight[rcurrentFrame].h = CHARACTER_HEIGHT;
}
for(int j = 0; j < leftFrameAmount; j++)
{
  lcurrentFrame ++;
  clipsLeft[lcurrentFrame].x = CHARACTER_WIDTH * j;
  clipsLeft[lcurrentFrame].y = CHARACTER_HEIGHT;
  clipsLeft[lcurrentFrame].w = CHARACTER_WIDTH;
  clipsLeft[lcurrentFrame].h = CHARACTER_HEIGHT;
}
Color keying out background:
SDL_Surface *load_image( std::string filename )
{
	SDL_Surface* loadedImage = NULL;
	SDL_Surface* optimizedImage = NULL;
	loadedImage = IMG_Load( filename.c_str() );
	if( loadedImage != NULL )
	{
		optimizedImage = SDL_DisplayFormat( loadedImage );
		SDL_FreeSurface( loadedImage );
		if( optimizedImage != NULL )
		{
			SDL_SetColorKey( optimizedImage, SDL_SRCCOLORKEY, SDL_MapRGB( optimizedImage->format, 0, 0xFF, 0xFF ) );
		}
	}
	return optimizedImage;
}
loading in the images:
bool load_files()
{
	//Loading sprite sheets
player_normal = load_image("nwalkspritesheet.png");
player_medium = load_image("mwalkspritesheet.png");
player_large = load_image("lwalkspritesheet.png");
transp = load_image("trans.png");
background = load_image("bg.png");
icon = load_image("icon.bmp");
SDL_WM_SetIcon(icon,NULL);

if(player_normal == NULL || player_medium == NULL || player_large == NULL)
{
  return false;
}
	if(icon == NULL)
	{
		return false;
	}
	return true;
}

[C++] Sprite disappearing

28 March 2012 - 05:12 AM

Could anyone help me with a problem I have? Trying to make a 2d platforming game based on Dracula. Doing this with a team of artists for a school project Posted Image The basic concept is that Dracula can suck blood, and the more blood he consumes, the fatter he becomes. He basically has 3 -shapes-. Medium, Fat and Ultra Fat. The problem is that after about 30 seconds, the sprite disappears. I'm guessing this is somehow related to my while loop. I've been following Lazy Foo's tutorials so far.

show function:
void Player::show()
{
//sprites loaded
int rcurrentFrame = -1;
int lcurrentFrame = -1;
int currentClip = 0;
int currentMultiplication = 0;
switch(currentShape)
{
  case 1:
   cout<<"case 1";
   rightFrameAmount = 28;
   leftFrameAmount = 28;
   CHARACTER_WIDTH = 128;
   CHARACTER_HEIGHT = 128;
   player_image = load_image("nwalkspritesheet.png");
   break;
  case 2:
   cout<<"case 2";
   rightFrameAmount = 32;
   leftFrameAmount = 32;
   CHARACTER_WIDTH = 128;
   CHARACTER_HEIGHT = 132;
   player_image = load_image("mwalkspritesheet.png");
   break;
  case 3:
   break;
}
if(player_image == NULL)
{
  cout<<"it's nothing";
}
for(int i = 0; i < rightFrameAmount; i++)
{
  rcurrentFrame ++;
  clipsRight[rcurrentFrame].x = CHARACTER_WIDTH * i;
  clipsRight[rcurrentFrame].y = 0;
  clipsRight[rcurrentFrame].w = CHARACTER_WIDTH;
  clipsRight[rcurrentFrame].h = CHARACTER_HEIGHT;
}
for(int j = 0; j < leftFrameAmount; j++)
{
  lcurrentFrame ++;
  clipsLeft[lcurrentFrame].x = CHARACTER_WIDTH * j;
  clipsLeft[lcurrentFrame].y = CHARACTER_HEIGHT;
  clipsLeft[lcurrentFrame].w = CHARACTER_WIDTH;
  clipsLeft[lcurrentFrame].h = CHARACTER_HEIGHT;
}
	//If left
	if( xvelocity < 0 )
	{
		//left
		status = CHARACTER_LEFT;
		//Move to the next frame in the animation
		frame++;
	}
	//If right
	else if( xvelocity > 0 )
	{
		//right
		status = CHARACTER_RIGHT;
		//Move to the next frame in the animation
		frame++;
	}
	//If standing
	else
	{
		//Restart animation
		frame = 0;
	}
	//Loop animation
	if( frame >= rightFrameAmount )
	{
		frame = 0;
	}
	//Direction
	if( status == CHARACTER_RIGHT )
	{
		apply_surface( character.x, character.y, player_image, screen, &clipsRight[ frame ] );
	}
	else if( status == CHARACTER_LEFT )
	{
		apply_surface( character.x, character.y, player_image, screen, &clipsLeft[ frame ] );
	}
}

gameloop:
while( quit == false )
	{
		fps.start();
		while( SDL_PollEvent( &event ) )
		{
			walk.handle_events();
			if( event.type == SDL_QUIT )
			{
				quit = true;
			}
		}
		walk.move();
		SDL_FillRect( screen, &screen->clip_rect, SDL_MapRGB( screen->format, 0xFF, 0xFF, 0xFF ) );
  SDL_FillRect( screen, &wall, SDL_MapRGB( screen->format, 0x77, 0x77, 0x77 ) );
		walk.show();
		if( SDL_Flip( screen ) == -1 )
		{
			return 1;
		}
		if( fps.get_ticks() < 1000 / FRAMES_PER_SECOND )
		{
			SDL_Delay( ( 1000 / FRAMES_PER_SECOND ) - fps.get_ticks() );
		}
	}

SDL_ttf

17 February 2012 - 04:59 AM

Hi,

I'm trying to make a platformer in C++ with SDL. It's going pretty well, but I ran into a small problem while trying to use the sdl_ttf library to use text in my application. After I downloaded the package, I couldn't find any sort of library or include folder which I could use. Only a couple of DLL's but that's it. Could any of you tell me what I'm doing wrong, or give me a link/file personally? I'm using DEV-C++ as IDE ( know it's kinda old, but I love the package manager that comes with it ).

PARTNERS