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 - jorge245

#1
Muchas gracias a todos por sus respuestas , ya solucione el problema,bueno en realidad 2 problemas con esa solución ,y es convertir la surface de la  imagen en una en una textura, así al entrar después de haber salido sigue la imagen, y ademas, el programa no necesita saber el tamaño de la pantalla para colocar la imagen. qui les dejo el código:
// ! u+21
// &  u+26
// | u+7c
// %  u+25
// Ʃ  u+1a9
//\ u+5c  'u+27
#include<iostream>
#include<SDL2/SDL.h>
#include<SDL2/SDL_image.h>
using namespace std;
const int SCREEN_WIDTH = 1900;
const int SCREEN_HEIGHT = 1080;
SDL_Event tecla;

// g++ enginere.cpp -w -lSDL2 -lSDL2_image -lSDL2_gfx -o enginere
void iniciar();
//SDL_Init(SDL_INIT_VIDEO)


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

        SDL_Window*window = SDL_CreateWindow("juego", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,SCREEN_WIDTH,SCREEN_HEIGHT,SDL_WINDOW_FULLSCREEN_DESKTOP);
               SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);
               SDL_Surface * image = IMG_Load("fondo.png");
               SDL_Texture * texture = SDL_CreateTextureFromSurface(renderer, image);
SDL_RenderCopy(renderer, texture, NULL, NULL);
SDL_RenderPresent(renderer);
while(true){
  SDL_RenderCopy(renderer, texture, NULL, NULL);
  SDL_RenderPresent(renderer);
   while (SDL_PollEvent(&tecla)) {
if (tecla.type == SDL_QUIT) {
      SDL_DestroyTexture(texture);
SDL_FreeSurface(image);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
exit(0);
}

  }
}
    return 0;
}

void iniciar(){
if(SDL_Init(SDL_INIT_VIDEO)<0){
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR,"Error inciando subsistema","Se produjo un error cargando el subsitema de video, porfavor , vuelva a iniciar el juego ",NULL);
exit(1);
}
}
#2
Muchas gracias por responderme.y si puedes podrías por favor escribirme sobre como funciona eso del pegado atrás del ejecutable.
#3
Es que e visto juegos y programas que contienes sus archivos o algunos de ellos, dentro del ejecutable. algo asi como un Appimage.
#4
Creo que ese problema me ara abandonar SDL. :,(
#5
si, // ! u+21
// &  u+26
// u+5c0 ׀
// %  u+25
// Ʃ  u+1a9
#include<iostream>
#include"milib.h"
#include<SDL2/SDL.h>
#include<SDL2/SDL_image.h>
using namespace std;


int main(){
bool quit=false;
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window *window = SDL_CreateWindow("pst",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,0, 0,SDL_WINDOW_FULLSCREEN_DESKTOP);
SDL_Surface*windowSurface=SDL_GetWindowSurface(window);
SDL_Surface*fondo=IMG_Load("fondo.png");
SDL_Event tecla;
SDL_BlitSurface(fondo,NULL,windowSurface,NULL);
while(!quit){
SDL_BlitSurface(fondo,NULL,windowSurface,NULL);
SDL_UpdateWindowSurface(window);
if(SDL_PollEvent(&tecla)) {
if (tecla.type == SDL_QUIT) {
quit=true;
}
}
}
return 0;
}


y con lo otro, no porque es pantalla completa así que no me es posible.
#6
No, la imagen si se presenta en pantalla. es solo cuando minimizo que deja de presentarla ,ubuntu presenta una captura de pantalla del  escritorio en la ventana si esta no tiene ninguna imagen, y así pasa al minimizar y entrar con pantalla completa.
#7
enlace para descargar la carpeta con la magen y programa .solo funciona en linux
https://drive.google.com/open?id=1urwyoX6Rgus2tKi4LU3n3EpexGfZSlfW
#9
ya probé pero no funciona.
#10
no me funciona :,(