Foros del Web » Programación para mayores de 30 ;) » C/C++ »

principiante en C, crear GAME

Estas en el tema de principiante en C, crear GAME en el foro de C/C++ en Foros del Web. 7Hola otra vez, he repasado el FAQ [URL="http://www.forosdelweb.com/f96/faqs-del-lenguaje-c-variantes-264647/"][/URL], pero hay algo que no entiendo, ya se como funcionan las librerías y que deben estar en ...
  #1 (permalink)  
Antiguo 20/01/2013, 10:12
 
Fecha de Ingreso: agosto-2009
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 1
Pregunta principiante en C, crear GAME

7Hola otra vez, he repasado el FAQ [URL="http://www.forosdelweb.com/f96/faqs-del-lenguaje-c-variantes-264647/"][/URL], pero hay algo que no entiendo, ya se como funcionan las librerías y que deben estar en la carpeta del juego, pero y esto puede sonar estúpido, para trabajar con gráficos, objetos y personajes, esos deben ser invocados desde el exterior ¿no?, es igual que si usa js de adobe flash, creo primero los gráficos y después los invoco o los especifico"carpeta/IMG/fondo". etc.
Esa es mi absurda duda .gracias
  #2 (permalink)  
Antiguo 20/01/2013, 15:20
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Respuesta: principiante en C, crear GAME

Sí, por ejemplo usando la librería de gráficos SFML, harías:

Código C++:
Ver original
  1. sf::Image imagen1;
  2. imagen1.LoadFromFile("/imagenes/miimagen1.png");

Saludos.
  #3 (permalink)  
Antiguo 20/01/2013, 17:47
 
Fecha de Ingreso: agosto-2009
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 1
Sonrisa Respuesta: principiante en C, crear GAME

Gracias. La pregunta era un poco tonta, pero se me que eso un poco suelto. Gracias
  #4 (permalink)  
Antiguo 25/01/2013, 10:22
 
Fecha de Ingreso: agosto-2009
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 1
Pregunta Respuesta: principiante en C, crear GAME

No hay necesidad de abrir otro tema pues la pregunta original siguen siendo la misma, tras encontrar este enlace, que dejo, de aporte un usuario en la web.
[URL="http://www.libsdl.org/"]http://www.libsdl.org/[/URL]
Encontré este pedazo de código.
Código C:
Ver original
  1. void DrawPixel(SDL_Surface *screen, Uint8 R, Uint8 G, Uint8 B)
  2. {
  3.     Uint32 color = SDL_MapRGB(screen->format, R, G, B);
  4.  
  5.     if ( SDL_MUSTLOCK(screen) )
  6.     {
  7.         if ( SDL_LockSurface(screen) < 0 )
  8.     {
  9.             return;
  10.         }
  11.     }
  12.     switch (screen->format->BytesPerPixel)
  13.     {    
  14.         case 1:
  15.     { /* Asumimos 8-bpp */
  16.             Uint8 *bufp;
  17.  
  18.             bufp = (Uint8 *)screen->pixels + y*screen->pitch + x;
  19.             *bufp = color;
  20.         }
  21.         break;
  22.  
  23.         case 2:
  24.     { /* Probablemente 15-bpp o 16-bpp */
  25.             Uint16 *bufp;
  26.  
  27.             bufp = (Uint16 *)screen->pixels + \
  28.                y*screen->pitch/2 + x;
  29.             *bufp = color;
  30.         }
  31.         break;
  32.  
  33.         case 3:
  34.     { /* Modo lento 24-bpp, normalmente no usado */
  35.             Uint8 *bufp;
  36.  
  37.             bufp = (Uint8 *)screen->pixels + y*screen->pitch + x;
  38.             *(bufp+screen->format->Rshift/8) = R;
  39.             *(bufp+screen->format->Gshift/8) = G;
  40.             *(bufp+screen->format->Bshift/8) = B;
  41.         }
  42.         break;
  43.  
  44.         case 4:
  45.     { /* Probablemente 32-bpp */
  46.             Uint32 *bufp;
  47.  
  48.             bufp = (Uint32 *)screen->pixels + \
  49.                    y*screen->pitch/4 + x;
  50.             *bufp = color;
  51.         }
  52.         break;
  53.     }
  54.     if ( SDL_MUSTLOCK(screen) )
  55.     {
  56.         SDL_UnlockSurface(screen);
  57.     }
  58.     SDL_UpdateRect(screen, x, y, 1, 1);
  59. }

Entiendo pues que se puede dibujar directamente un escenario o incluso los personajes del juego ¿?, en el propio lenguaje C, con editores como Xcode o Code block y si es así, con una librería como <stdio.h> se podría realizar. gracias.
disculpen mi torpeza pues este es el primer lenguaje de programación, en el que estoy profundizando, y me gusta la idea de hacer aplicaciones y juegos...
  #5 (permalink)  
Antiguo 25/01/2013, 12:44
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 3 meses
Puntos: 46
Respuesta: principiante en C, crear GAME

Buenas, la libreria stdio es la estandard para input y output a traves de consola asi que para graficos no te sirve para nada.

El pedazo de codigo que has puesto usa la libreria SDL, así que si crees que tienes un dominio decente del lenguaje C(punteros, sobretodo) puedes aprender SDL, es una libreria que a mi me gusta mucho personalmente y en la que se pueden hacer muchas cosas en 2D y luego si ves que lo tuyo son los graficos puedes aprender OpenGL mas adelante, ya que SDL se complementa muy bien con esta.


PD: En el supuesto de que quieras aprender OpenGL, o de cualquiera que quiera aprender OpenGL hay una cosa que hay que tener muy clara. Hay que aprender matematicas antes!! Y no estoy hablando de matematicas sencillas, hablo de matematicas con una complejidad bastante elevada, ya que la programacion grafica es una de las ramas de la programacion que mas matematicas requiere.


Saludos
  #6 (permalink)  
Antiguo 25/01/2013, 17:55
 
Fecha de Ingreso: agosto-2009
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 1
Pregunta Respuesta: principiante en C, crear GAME

Gracias por tu respuesta. Esta ya es mi ultima pregunta, entiendo ahora que hay librerías que tiene incluidas imagenes, sonidos, la posibilidad de usar gráficos y comando de juegos, como podría ser el de un joystick, eso quiere decir que una persona de conocimiento alto podría crear sus propias librerías, con respecto a librerías que incluyen o permiten gráfico significa que (permite al programa soportar gráficos en 3d u 2d y también que con un nivel alto de matemáticas puede crear código, que se transformara en pixeles ¿? ), para acabar aprender OpenGL, ¿es como usar programas como blender o auto CAD?. Gracias.

Etiquetas: funcion, game, principiante
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:50.