Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Puntoinfinito

#271
Hola, pues aplicandole una Interfaz gráfica (por ejemplo Qt) puedes crear unos formularios... Si no, directamente se puede hacer desde una aplicación terminal, pero en este caso no habrá interfaz...

Ah, supongo que quieres pasar dichos datos a una base de datos para luego utilizarlo con alguna aplicación web o algo, no? ; http://gna.org/projects/mysqlpp/
#272
Hola!

Mirad estoy programando un juego en SDL, y a la hora añadir sonidos no se ejecutan... Y teoricamente todo esta bien definido... Tampoco me va a la hora de escribir textos, con la extensión TTF.

Aquí os dejo el código para que veáis un poco;

Código (sdlbasic) [Seleccionar]
#include "functions.h"
#include <iostream>
#include <SDL/SDL.h>
#include <SDL/SDL_mixer.h>
#include <SDL/SDL_ttf.h>

using namespace std;

int main() {

//Iniciamos
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
cout << "Error inesperado";
cin.sync();
cin.get();
return 0;
}

if( Mix_OpenAudio( 22050, MIX_DEFAULT_FORMAT, 2, 4096 ) < 0 ) {
cout << "Error inesperado";
return 0;
}

//Variables
SDL_Surface *nave;
SDL_Surface *fondo;
SDL_Surface *screen;
SDL_Surface *texto;
SDL_Rect destino;
Uint8 * teclas = SDL_GetKeyState ( NULL );
SDL_Event suceso;
int yNave = 230/2, xNave = 240/2;
int yFondo = 0, xFondo = 0;
int terminado = 0;
int tecla;
TTF_Font* font = TTF_OpenFont("air.ttf",36);
SDL_Color color = {250,250,250};

// The music that will be played
Mix_Music *musica = NULL;
//The sound effects that will be used 
Mix_Chunk *disparos = NULL;
Mix_Chunk *motor = NULL;
Mix_Chunk *explosion = NULL;
Mix_VolumeMusic(50);
musica = Mix_LoadMUS("pixeluniverse.wav");
if (!Mix_PlayMusic(musica, -1)) {
cout << "Error inesperado";
}

//Definir variables
nave = SDL_LoadBMP("nave.bmp");
fondo = SDL_LoadBMP("fondo.bmp");
texto = TTF_RenderText_Solid(font,"Score : 0",color);

//Poner transparencia a la nave
quit_color(nave, 0, 255, 0);

//Creamos ventana
screen = SDL_SetVideoMode(320, 240, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
if (screen == NULL) {
cout << "Error inesperado";
cin.sync();
cin.get();
SDL_Quit();
return 0;
}

// El getch cada 20 segundos
  SDL_EnableKeyRepeat(5, 5);

//Nombre de ventana
SDL_WM_SetCaption( "Naves", NULL );

while (terminado == 0) {

//Dibujamos fondo
SDL_Rect posFondo;

posFondo.y = yFondo;
posFondo.x = xFondo;
SDL_BlitSurface(fondo, NULL, screen, &posFondo);
apply_surface( 0, yFondo + fondo->h, fondo, screen );

//Texto blit
SDL_BlitSurface(texto,NULL,screen,NULL);

//Dibujamos nave
destino.y = yNave;
destino.x = xNave;
SDL_BlitSurface(nave, NULL , screen, &destino);

SDL_Flip(screen);

while (SDL_PollEvent(&suceso)) {
if (suceso.type == SDL_QUIT)    terminado = 1;
if (suceso.type == SDL_KEYDOWN)
if (suceso.key.keysym.sym == SDLK_ESCAPE)  terminado = 1;
}
if (teclas[SDLK_ESCAPE]) { terminado = 1; }
if (teclas[SDLK_UP]) { yNave -= 2; }
if (teclas[SDLK_DOWN]) { yNave += 2; }
if (teclas[SDLK_LEFT]) { xNave -= 3; }
if (teclas[SDLK_RIGHT]) { xNave += 3; }

if( yFondo <= -posFondo.w )
{ //Reset the offset
yFondo = 0; }

yFondo -= -1;

SDL_Delay( 5 );

}
Mix_FreeMusic(musica);
SDL_Quit();
cout << "EXIT";
return 0;;
}


Para ver donde están los argumentos de mixer y ttf, buscad por los que comienzan por Mix y TTF.

Saludos!
#273
He dicho lo mismo que has dicho tú.
#274
Me parece extraño, creo que lo que esta haciendo es declarar la dirección del puntero punt a el de la variable numero.
#275
Debes poner el srand(time(NULL)); tan solo una vez. Ponlo al principio del main o antes de comenzar...
#276
Mira bien si declarastes la función...

Consejo; Ah otra cosa, cuando creas una función con objetivo de modificar un objeto como ahora uno de tipo void, necesitas indicar que nombre recibe dicho objeto. Tal que así;

Citarint funcion(void variable) {
variable = 1;
return variable;
}
#277
Lo de la vez es cierto! Acabo de escucharlo y tiene ese tono de no ignorar el vídeo por lo que hace el usuario xD!!

Saludosss
#278
Haz cosas más complejas xD
#279
Pués con system("g++ programa.cpp -o programa"),  luego si da error ya avisara la respuesta del comando. En caso que compile bien, lo abres desde comandos linux "./" o que escriba la dirección directamente.

Para inserir datos, justo despues de poner "./" o la dirección donde se encuentra "/home/user/programa", insertas los datos a inserir, si són dos pues; "./programa 3 4". En este caso sumara 3 y 4.

Esto no se puede considerar como una respuesta 100% valida. Pero si ha de ser para Linux, pues sirve perfectamente...

Saludos!
#280
Pero solo lo podras ejecutar en API de windows o librería SDL si lo quieres hacer multiplataforma. (Lo más general)