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

[C++] Animacja i funkcje wykonywane w tym samym czasie.

Ostatnio zmodyfikowano 2014-10-31 14:42
Autor Wiadomość
Haker123
Temat założony przez niniejszego użytkownika
[C++] Animacja i funkcje wykonywane w tym samym czasie.
» 2014-10-26 17:46:35
Witam.

Mam problem ze zrobieniem animacji tak zeby inne opcje byly dostepne (np w grze ktos ginie ale resza opcji jest dostepna).

Chce zrobic animacje (intro) tak zeby klawiatura i myszka dzialaly. Nie wiem jak sie za to zabrac, moje pomysly koncza sie na petli for przez co reszta funkcji jest niedostepna.
Przychodzi mi jeszcze jedno wyjscie z wykozystaniem timera ale nie wiem jak to napisac.

P-119464
pekfos
» 2014-10-26 18:10:41
Jaki problem..? Sposób pisania gier niemal wymusza rozwiązanie.
P-119465
Haker123
Temat założony przez niniejszego użytkownika
» 2014-10-27 11:09:17
Niestety ja mam problem. Nigdy nie widzialem podobnego problemu i nie zabardzo wiem jak sie za to zabrac.
Podam przyklad jak u mnie wyglada przyciemnianie obrazu tak ze znika i potem przechodzi do innego ekranu

C/C++
//to jest fragment funkcji Screen_Fading() odpowiadajacy za przyciemnianie (reszta w funkcji tylko wypisuje ekran na bitmape)
for( float i = 1; i >= 0; i -= 0.002 )
{
    //ZMIANA KOLORU (JESLI DOBRZE ROZUMIEM) [BEZ TEGO NIE DZIALA TAK JAK TRZEBA]
    al_set_blender( ALLEGRO_ADD, ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA );
   
    //RYSUJEMY BITMAPE Z ODPOWIEDNIM KANALEM ALPHA (PRZEZROCZYSTOSC)
    al_draw_tinted_bitmap( Screen_Photo, al_map_rgba_f( 1, 1, 1, i ), 0, 0, 0 );
   
    al_flip_display();
    al_clear_to_color( al_map_rgb( 0, 0, 0 ) );
    //al_rest(5.0) ;
}

//a tak uzywam tej funkcji
case MENU:

//TWORZYMY OBIEKT
if( Menu_ )
{
    Menu_ = false;
    Screen = new Menu_Screen();
    //Screen->Screen_Lighten()   ;
}

//OBSLUGA ZDAZEN
Screen->Handling_Keyboard( events, keyState );
Screen->Handling_Mouse( events );
Screen->Draw_Screen( events, FPS );

//KAZUJEMY OBIEKT
if( End_Menu_ )
{
    End_Menu_ = false;
    Menu_ = true;
    //Screen->Screen_Fading() ;
    delete Screen;
}

break;

Jak widac , program niedopuszcza innych zdarzen (petla for wszystko blokuje) , nie mam pojecia jak zrobic to tak zeby podczas np przyciemniania dzialaly zdarzenia z myszki i klawiatury lub zeby w miedzy czasie cos innego sie robilo.
P-119503
Haker123
Temat założony przez niniejszego użytkownika
» 2014-10-30 00:20:37
Nikt nie wie jak to zrobic??
Nie chce gotowego rozwiazania tylko wskazowki. Jakis material ktory pomoze mi rozwiazac ten problem lub przyklad z krotkim opisem.
P-119665
Gabes
» 2014-10-30 01:39:54
C/C++
float i = 1.0;
bool czyPrzyciemniono = false;
...
if( i <= 0 ) czyPrzyciemniono = true;
else i -= 0.002;

if( !czyPrzyciemniono ) al_draw_tinted_bitmap( Screen_Photo, al_map_rgb_f( i, i, i ), 0, 0, 0 );
 
P-119666
Haker123
Temat założony przez niniejszego użytkownika
» 2014-10-31 14:42:01
Dzieki.
Teraz cos mi juz swita , i mam pare pomyslow jak to zrobic ;]
P-119732
« 1 »
  Strona 1 z 1