elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema al querer mostrar un sprite
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema al querer mostrar un sprite  (Leído 3,914 veces)
ranser

Desconectado Desconectado

Mensajes: 43


Ver Perfil
problema al querer mostrar un sprite
« en: 8 Julio 2010, 02:11 am »

Hola,estoy empesando en la creacion de juegos con SDL y me pone un codigo para que muestre una nave en la pantalla pero cuando lo pongo a compilar me tira los siguientes Errores:

Código:
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling...
Cpp1.cpp
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(10) : error C2065: 'SDL_surface' : undeclared identifier
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(10) : error C2065: 'image' : undeclared identifier
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(10) : error C2065: 'screen' : undeclared identifier
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(10) : error C2100: illegal indirection
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(25) : error C2440: '=' : cannot convert from 'struct SDL_Surface *' to 'int'
 This conversion requires a reinterpret_cast, a C-style cast or function-style cast
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(32) : error C2440: '=' : cannot convert from 'struct SDL_Surface *' to 'int'
 This conversion requires a reinterpret_cast, a C-style cast or function-style cast
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(43) : error C2227: left of '->w' must point to class/struct/union
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(44) : error C2227: left of '->h' must point to class/struct/union
Error executing cl.exe.

Cpp1.obj - 8 error(s), 0 warning(s)



Y el codigo que coloco es el siguiente:

Código:
#include <SDL.h>
#include <stdio.h>
#include <stdlib.h>


int main(int argc,char *argv[])

{

SDL_surface *image, *screen;
SDL_Rect dest;
SDL_Event event;
int done=0;

atexit(SDL_Quit);


//Iniciar SDL
if (SDL_Init(SDL_INIT_VIDEO) <0 )
{
printf("No se pudo iniciar SDL:%s\n",SDL_GetError());
exit(1);
}
//Activamos modo grafico
screen=SDL_SetVideoMode(640,480,24,SDL_HWSURFACE);
if (screen==NULL)
{
printf("No se puede inicializar el modo grafico: \n",SDL_GetError());
exit(1);
}
//Cargamos graficos
image=SDL_LoadBMP("nave.bmp");
if (image==NULL)
{
printf("No pude cargar grafico: %s\n",SDL_GetError());
exit(1);
}

//Definimos donde dibujamos el grafico
//y lo copiamos a la pantalla.
dest.x=100;
dest.y=100;
dest.w=image->w;
dest.h=image->h;
SDL_BlitSurface(image, NULL, screen, &dest);

//Mostramos la pantalla
SDL_Flip(screen);

//Liberar superficie
SDL_FreeSurface(image);

//Esperamos la pulsacion de una tecla para salir

while(done==0)
{
while (SDL_PollEvent(&event))
{
if (event.type==SDL_KEYDOWN)
done=1;
}
}
return 0;
}
Estoy usando el Visual C++ 6.0 (es el que utilizo el que hizo el libro) pero no se como hacer para que me funcione alguien me podria decir a que viene esos errores???

PD:yo estudie C++ de C no lo toque ,seria lo mismo poner en la parte de printf (que es de C) poner cerr<<(que es de C++)??

Espero que me puedan ayudar.


« Última modificación: 8 Julio 2010, 02:19 am por ranser » En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: problema al querer mostrar un sprite
« Respuesta #1 en: 8 Julio 2010, 02:24 am »

ranser, pregunta tonta pero necesaria, tenes instalado SDL no?

http://www.libsdl.org/download-1.2.php

PD:yo estudie C++ de C no lo toque ,seria lo mismo poner en la parte de printf (que es de C) poner cerr<<(que es de C++)??

http://www.cplusplus.com/reference/iostream/cerr/

Código:
fprintf( stderr, "ERROR" );

Código:
cerr << "ERROR" << endl;

Salu10.


En línea

ranser

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: problema al querer mostrar un sprite
« Respuesta #2 en: 8 Julio 2010, 05:31 am »

segui un manual de como meter la libreria SDL en el VC++ 6.0 (meti tambien las librerias auxiliares SDL_mixer,SDL_net,etc) y probe un codigo que saque de internet para ver si funciona y me lo compila y me abre una ventana en negro ,osea que la libreria esta bien instalada,pero no tengo idea de xq me tira esos errores.

Saludos.
En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: problema al querer mostrar un sprite
« Respuesta #3 en: 8 Julio 2010, 10:41 am »

Viendo un poco mas el codigo, te equivocaste en lo siguiente...

Código:
SDL_surface *image, *screen;

y seria...

Código:
SDL_Surface *image, *screen;

Salu10.
En línea

ranser

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: problema al querer mostrar un sprite
« Respuesta #4 en: 8 Julio 2010, 20:37 pm »

es verdad pero cuando lo modifico en vez de salirme 8 errores me salen 18,no se xq puede suceder esto.

Saludos.
En línea

Ariath


Desconectado Desconectado

Mensajes: 2.099


Ver Perfil WWW
Re: problema al querer mostrar un sprite
« Respuesta #5 en: 8 Julio 2010, 23:30 pm »

Postea los nuevos errores que te salen (¿tiene la etiqueta GeSHi capacidad para mostrar números de línea o algo?, Es que, así a pelo, hay que ir contando las líneas una a una hasta llegar a la que menciona el error :P ).

Salu2
En línea

ranser

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: problema al querer mostrar un sprite
« Respuesta #6 en: 9 Julio 2010, 03:43 am »

me puse el Dev-C++ y puse ese codigo modificado el Surface y la libreria SDL/SDL.h y me anda bien , me puse aver el VC++ xq no puede ser que uno me lo tome y el otro no y ya lo pude solucionar le puse la carpeta include y lib dentro del proyecto mas la imagen y modifique lo que me dijeron y tuve que colocar de nuevo la libreria SDL (el VC++ 6.0 tira error al llamar a la libreria de esta manera SDL/SDL.h la manera correcta es SDL.h  hablo del VC++ 6.0 en otros compiladores como Dev-C++ va el otro),lo malo es que siempre que abro un nuevo proyecto  o una hoja de codigo y quiero poner la libreria SDL la tengo que volver a configurar todo,es medio tedioso pero es lo que hay, Igual muchas gracias x ayudarme les agradezco mucho.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema al querer instalar windows
Windows
urvreak 7 5,011 Último mensaje 20 Abril 2011, 00:33 am
por urvreak
Problema al querer acer un Juego Portable
Juegos y Consolas
Nyko Style 0 2,526 Último mensaje 4 Julio 2011, 16:13 pm
por Nyko Style
Flash builder as3 sprite problema
Desarrollo Web
engel lex 0 2,525 Último mensaje 14 Julio 2011, 06:13 am
por engel lex
ayuda con DEP problema al querer correr un bof
Bugs y Exploits
qqmelo 3 3,010 Último mensaje 4 Octubre 2011, 02:36 am
por 3mp3z@ndo
problema al querer instalar deb
GNU/Linux
astro1 3 2,658 Último mensaje 17 Noviembre 2011, 05:31 am
por RyogiShiki
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines