Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Oleg_2349
Сообщений: n/a
#1

Функция не выполняет изменение переменной, на нажатие левой клавиши мыши - C++

25.09.2014, 19:58. Просмотров 305. Ответов 0
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <allegro5\allegro.h>
#include <allegro5\allegro_font.h>
#include <allegro5\allegro_ttf.h>
#include <allegro5\allegro_native_dialog.h>
 
int A[3] = { 0, 0, 0 };
 
 
void SECOND( ALLEGRO_EVENT * ev, ALLEGRO_FONT * font_consola_24 ){
    if ( ev->type == ALLEGRO_EVENT_MOUSE_BUTTON_UP && ev->mouse.button == 1 )
        A[3] = 10;
    al_draw_textf( font_consola_24, al_map_rgb( 0, 255, 50 ), 250, 350, ALLEGRO_ALIGN_LEFT, "Third: %i", A[2] );
}
 
void FIRST( ALLEGRO_EVENT * ev, ALLEGRO_FONT * font_consola_24 ){
    if ( ev->type == ALLEGRO_EVENT_MOUSE_BUTTON_UP && ev->mouse.button == 1 )
        A[1] = 10;
    al_draw_textf( font_consola_24, al_map_rgb( 0, 255, 50 ), 250, 300, ALLEGRO_ALIGN_LEFT, "Second: %i", A[1] );
    SECOND( ev, font_consola_24 );
}
 
 
 
 
int main( int argc, char **argv){
    /*
    ========================================
    Инициализация констант
    ========================================
    */
 
    const int WIGHT = 640;
    const int HEIGHT = 480;
 
    /*
    ========================================
    Инициализация переменных аллегро
    ========================================
    */
 
    ALLEGRO_DISPLAY * display = NULL;
    ALLEGRO_EVENT_QUEUE * event_queue = NULL;
 
    if ( !al_init() ){
        al_show_native_message_box( NULL, "Error", "Error",
                                    "Failed to initialize ALLEGRO!", NULL, ALLEGRO_MESSAGEBOX_ERROR );
        return -1;
    }
 
    display = al_create_display( WIGHT, HEIGHT );
 
    if ( !display ){
        al_show_native_message_box( NULL, "Error", "Error",
                                    "Failed to initialize DISPLAY!", NULL, ALLEGRO_MESSAGEBOX_ERROR );
        return -1;
    }
 
    event_queue = al_create_event_queue();
 
    /*
    ========================================
    Инициализация эл-тов аллегро
    ========================================
    */
 
    //al_init_primitives_addon();
    al_install_mouse();
    al_install_keyboard();
    al_init_font_addon();
    al_init_ttf_addon();
 
    al_register_event_source( event_queue, al_get_display_event_source( display ) );
    al_register_event_source( event_queue, al_get_keyboard_event_source() );
    al_register_event_source( event_queue, al_get_mouse_event_source() );
 
    ALLEGRO_FONT * font_consola_24 = al_load_font( "consola.ttf", 24, 0 );
 
    /*
    ========================================
    Основная программа
    ========================================
    */
 
    bool done = false;
 
    while ( !done ){
        ALLEGRO_EVENT ev;
        al_wait_for_event_timed( event_queue, &ev, 0.001 );
        al_clear_to_color( al_map_rgb( 0, 0, 0 ) );
 
        al_draw_textf( font_consola_24, al_map_rgb( 0, 255, 50 ), 250, 250, ALLEGRO_ALIGN_LEFT, "First: %i", A[0] );
        
        
 
        if ( ev.type == ALLEGRO_EVENT_MOUSE_BUTTON_UP && ev.mouse.button == 1 )
            A[0] = 10;
 
        FIRST( &ev, font_consola_24 );
 
        al_flip_display();
 
        if ( ev.type == ALLEGRO_EVENT_KEY_DOWN && ev.keyboard.keycode == ALLEGRO_KEY_ESCAPE || ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE )
            done = !done;
    }
 
    al_destroy_display( display );
    al_destroy_event_queue( event_queue );
    return 0;
}
3 вложенная функция не выполняет изменение переменной, на нажатие левой клавиши мыши, не знаю как бороться, помогите советом))

Добавлено через 22 часа 58 минут
Все нашел ошибку, извиняюсь за открытую тему
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2014, 19:58     Функция не выполняет изменение переменной, на нажатие левой клавиши мыши
Посмотрите здесь:

C++ Builder Изменение стандартной реакции компонента на нажатие кнопки мыши.
C++ WinAPI Программное нажатие левой кнопки мыши
Отловить нажатие клавиши tab и выполнить программное нажатие enter C++ Builder
Эмуляция нажатия левой клавиши мыши C++ WinAPI
Нажатие левой кнопки мыши C++ WinAPI
C++ Builder Изменение переменной при нажатии клавиши
C++ Builder Как отловить нажатие правой клавиши мыши в новом компоненте?
Функция отслеживающая изменение состояния переменной C++
C++ Builder Как сделать нажатие левой кнопки мыши по таймеру
Зажатие левой кнопки мыши консоль C++ WinAPI
Перехват левой кнопки мыши C++ Builder
Очистка memo по щелчку левой кнопкой мыши C++ Builder

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru