Autor Wątek: [Allegro 4.4.2] Problem z klawiszem  (Przeczytany 3714 razy)

Offline janek112

  • Użytkownik

# Listopad 30, 2013, 01:08:02
Dobra, udało mi się, dzięki ArekBal, trochę mi pomogłeś. Zrobiłem kod tak:
#include <allegro.h>
#include <iostream>
#include "main.hpp"
    bool klawiszWcisniety(int keyValue);
    bool klawiszPusczony(int keyValue);

    int klawisz_teraz = NULL;
    int poprzedni_klawisz_teraz = NULL;

    int opcja = 0;
void gui()
{
    klawisz_teraz = NULL;
    while(speed == 0)
    {
        poprzedni_klawisz_teraz = klawisz_teraz;
       
        for(int i = 0; i < KEY_MAX; i++)
        {
            if(key[i])
            {
                klawisz_teraz = i;
                break;
            }
            else
                klawisz_teraz = NULL;
        }
       
        // SPRAWDZANIE KLAWISZY
        if(klawiszWcisniety(KEY_E))
        {
            if(opcja == 0)
            opcja = 1;
            else if( opcja == 2 )
            opcja = 3;
        }
        if(klawiszPusczony(KEY_E))
        {
            if( opcja == 1 )
            opcja = 2;
            else if( opcja == 3 )
            opcja = 4;
        }

    }
   
   
    if(opcja == 4)
    opcja = 0;

    if(opcja == 1 || opcja == 2)
    {
        if(jezyk == 0){
        masked_blit(inventory_pol,bufor,0,0,200,250,700,700);}
        else if(jezyk == 1){
        masked_blit(inventory_ang,bufor,0,0,200,250,700,700);}
    }
    else
        NULL;

}
bool klawiszWcisniety(int keyValue)
{
    if(klawisz_teraz == keyValue && poprzedni_klawisz_teraz != keyValue)
        return true;
    return false;
}
bool klawiszPusczony(int keyValue)
{
    if(poprzedni_klawisz_teraz == keyValue && klawisz_teraz != keyValue )
        return true;
    return false;
}

Działa jak należy, więc jeszcze raz dziękuje. Kod dla innych.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych