Autor
|
Tema: problema al querer mostrar un sprite (Leído 4,181 veces)
|
ranser
Desconectado
Mensajes: 43
|
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: --------------------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: #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
|
|
|
|
|
ranser
Desconectado
Mensajes: 43
|
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
Mensajes: 348
Into the Wild
|
Viendo un poco mas el codigo, te equivocaste en lo siguiente... SDL_surface *image, *screen; y seria... SDL_Surface *image, *screen; Salu10.
|
|
|
En línea
|
|
|
|
ranser
Desconectado
Mensajes: 43
|
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
|
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 ). Salu2
|
|
|
En línea
|
|
|
|
ranser
Desconectado
Mensajes: 43
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
problema al querer instalar windows
Windows
|
urvreak
|
7
|
5,355
|
20 Abril 2011, 00:33 am
por urvreak
|
|
|
Problema al querer acer un Juego Portable
Juegos y Consolas
|
Nyko Style
|
0
|
2,712
|
4 Julio 2011, 16:13 pm
por Nyko Style
|
|
|
Flash builder as3 sprite problema
Desarrollo Web
|
engel lex
|
0
|
2,690
|
14 Julio 2011, 06:13 am
por engel lex
|
|
|
ayuda con DEP problema al querer correr un bof
Bugs y Exploits
|
qqmelo
|
3
|
3,195
|
4 Octubre 2011, 02:36 am
por 3mp3z@ndo
|
|
|
problema al querer instalar deb
GNU/Linux
|
astro1
|
3
|
2,869
|
17 Noviembre 2011, 05:31 am
por RyogiShiki
|
|