Enviado em 06/04/2013 - 23:27h
Olá pessoal, ultimamente os programas que crio utilizando SDL estão travando muito, não sei o que há de erado no código que possa causar esse tipo de erro,eles parecem funcionar aleatoriamente(uns funcionam, outros nao, outros sim...) aqui está a minha classe janela que cria uma janela:Janela::Janela(int fps, int flags, std::string titulo, int largura, int altura, int bpp, bool telacheia) { espera = 1000/fps; this->flags = flags; aberta = false; capturarmouse = true; capturarteclado = true; if(SDL_Init(flags) == -1) { this->erro = SDL_GetError(); throw (Erro("Não foi possível inicializar os subsistemas da SDL.")); } this->largura = largura; this->altura = altura; this->bpp = bpp; this->telacheia = telacheia; ///Configurando as flags para criar a janela int f = SDL_HWPALETTE; if(telacheia) f |= SDL_FULLSCREEN; const SDL_VideoInfo* video = SDL_GetVideoInfo(); if(video->hw_available) f |= SDL_HWSURFACE; else f |= SDL_SWSURFACE; if(video->blit_hw) f |= SDL_HWACCEL; /// janela = SDL_SetVideoMode(largura, altura, bpp, f); if(janela == NULL) { erro = SDL_GetError(); throw (Erro("Não foi possível criar a janela.")); } SDL_WM_SetCaption(titulo.c_str(), NULL); aberta = true; }
void Janela::Iniciar() { this->AoIniciar();//virtual int atraso=0;//tempo de atraso a cada quadro ///Loop Principal que mantém a janela aberta while(aberta) { int t_inicial = SDL_GetTicks(); while(atraso > espera) { Logica(); atraso -= espera; } Logica();//virtual Desenhar();//virtual int t_final = SDL_GetTicks(); int t_total = t_final - t_inicial; if(t_final <= espera) SDL_Delay(espera - t_final); else atraso += t_final - espera; } }
int main(int argc, char* argv[]) { Jogo jogo; jogo.Iniciar(); return 0; }
Enviado em 07/04/2013 - 06:12h
o pouco do código que vc postou não ajudou bastante para tentar saber onde fica o problema, portanto se possível postar o código completo.Enviado em 07/04/2013 - 07:13h
Tudo bem, aqui link para janela.h:Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04