Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Opengl/SDL]Dlaczego shift w połączeniu z ctrl lub altem powoduje zacinanie sie gry?;[

Ostatnio zmodyfikowano 2011-03-17 15:26
Autor Wiadomość
DejaVu
» 2011-03-16 16:35:24
I rzeczywiscie nawet w kodach tutoriali SDL/OPENGL ten blad wystepuje
Wklej ten krótki kod z tutoriala SDL/OPENGL.
P-29195
Savail
Temat założony przez niniejszego użytkownika
» 2011-03-16 17:00:27
http://lockerz-go.netai.net/opengl_sdl.rar
ok tutaj macie kod z tutka lekko przerobiony przeze mnie tylko w funkcji rysujacej aby pod wplywem wcisniecia strzalki w lewo lub w prawo to kwadrat sie rozciagal. Gdy jest animacja na ekranie i wciska sie szybko na przemian shift i ctrl to animacja sie zacina
P-29200
DejaVu
» 2011-03-16 17:12:25
Wklej krótki kod... nie chce mi się ściągać pliku.
P-29204
Savail
Temat założony przez niniejszego użytkownika
» 2011-03-16 17:24:08
Ech trochę ciężko znaleźć tutka składającego się z jednego pliku ale zrobiłem swój krótki program chyba krótki... ;p. Wciskamy np strzalke w prawo lub lewo i szybko na przemian shift i ctrl
C/C++
#include <gl/gl.h>
#include <sdl/sdl.h>
#include <sdl/sdl_opengl.h>

void Run();
void ProcessEvents();
void Draw();

int ScrWidth = 800, ScrHeight = 450;
SDL_Surface * Screen;
SDL_Event event;
Uint8 * key = SDL_GetKeyState( NULL );
bool End;
int pos_x = 200;
bool right = false, left = false;

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

void ProcessEvents()
{
    if( End ) return;
   
    while( SDL_PollEvent( & event ) && event.type != SDL_MOUSEMOTION ) {
        if( event.type == SDL_QUIT ) {
            End = true;
            break;
        }
    }
}

void Run()
{
    SDL_Init( SDL_INIT_EVERYTHING );
    Screen = SDL_SetVideoMode( ScrWidth, ScrHeight, 32, SDL_OPENGL | SDL_HWSURFACE | SDL_GL_MULTISAMPLEBUFFERS );
    SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
   
    glClearColor( 0, 0, 0, 0 );
    glViewport( 0, 0, ScrWidth, ScrHeight );
    glMatrixMode( GL_PROJECTION );
    glLoadIdentity();
    glOrtho( 0, ScrWidth, ScrHeight, 0, - 1, 1 );
    glMatrixMode( GL_MODELVIEW );
    glLoadIdentity();
   
    while( !End )
    {
        ProcessEvents();
        Draw();
    }
    SDL_FreeSurface( Screen );
}

void Draw()
{
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
    if( key[ SDLK_LEFT ] ) pos_x -= 1;
   
    if( key[ SDLK_RIGHT ] ) pos_x += 1;
   
    glBegin( GL_QUADS );
    glColor3f( 1, 0, 0 ); glVertex3f( 0, 0, 0 );
    glColor3f( 1, 1, 0 ); glVertex3f( pos_x, 0, 0 );
    glColor3f( 1, 0, 1 ); glVertex3f( pos_x, 100, 0 );
    glColor3f( 1, 1, 1 ); glVertex3f( 0, 100, 0 );
    glEnd();
   
    SDL_GL_SwapBuffers();
}
P-29209
kamillo121
» 2011-03-16 17:32:19
Znaczy, że po tej akcji (strzałka + nerwowe naciskanie ctrl i shift) miała się animacja zaciąć ? ja nic takiego nie doświadczam.
P-29210
Savail
Temat założony przez niniejszego użytkownika
» 2011-03-16 17:34:40
Cóż to dziwny problem, mozliwe ze nie na kazdym kompie wystepuje... Używasz laptopa? Na moim laptopie tego problemu też nie ma ale na stacjonarnym jest. Dałem kilku osobom do przetestowania i potwierdzili że się tnie
P-29211
kamillo121
» 2011-03-16 17:35:48
Nie, stacjonarka.
Tamten przykład z tej paczki, którą podlinkowałeś kilka postów wcześniej też sprawdziłem i też się nic nie zacina.
P-29212
Savail
Temat założony przez niniejszego użytkownika
» 2011-03-16 17:42:21
na moim kompie się tnie i to raczej nie jest wina klawiatury bo zadnych problemow z nia nigdy nie mialem... Cóż mam nadzieje ze komus bedzie sie cięło :P
A spróbuj moze przytrzymac shift i wtedy wciskac szybko ctrl podczas duszenia strzalki ofc
P-29215
1 2 « 3 » 4 5
Poprzednia strona Strona 3 z 5 Następna strona