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

C++

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

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

25.09.2014, 19:58. Просмотров 335. Ответов 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++):

Как сделать нажатие левой кнопки мыши по таймеру - C++ Builder
Видел много программ по типу авто &quot;кликеры&quot; вот думал дай свою напишу хотел попробовать и тут на тебе сразу тупик на 1 ступени. Помогите...

Нажатие на пункт PopupMenu MenuItem по событию MenuItemClick правой или левой кнопкой мыши - C++ Builder
Собственно никак не получается. Надо, чтобы по левой работал код пункта, а по правой только чекинг ставился... по...

Как отловить нажатие правой клавиши мыши в новом компоненте? - C++ Builder
Помогите с проблемой. Создаю новый компонент на основе TImage. Хочу отловить на нем нажатие правой клавиши. Пихаю прототип в protected:...

Изменение стандартной реакции компонента на нажатие кнопки мыши. - C++ Builder
Добрый вечер всем. Подскажите пожалуйста каким образом изменить реакцию компонента (VCL C++ Builder) на нажатие правой кнопки мыши....

Изменение переменной при нажатии клавиши - C++ Builder
кому не сложно сделайте пожалуйста если я нажал клавишу(неважно какую) переменная n стала = 1 если еще раз нажал туже клавишу n = 0 если...

Отловить нажатие клавиши tab и выполнить программное нажатие enter - C++ Builder
Подскажите пожл как осуществить подобное действие, в принципе нажатие на клавишу enter я итак знаю как отловить но незнаю какой функцией...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2014, 19:58
Привет! Вот еще темы с ответами:

Перехват левой кнопки мыши - C++ Builder
Есть такой код: unsigned int index; AnsiString KEY; unsigned short result; void IsSystemKey (unsigned int k) { KEY = &quot;&quot;; if...

Перехват левой кнопки мыши - C++ Builder
Всем привет. Появился вопрос: как возможно перехватить левую кнопку мыши, но не дать заполучить этот запрос другим программам? То есть...

Очистка memo по щелчку левой кнопкой мыши - C++ Builder
Как очистить компонент memo при нажатии на него левой кнопкой мыши?

Закраска DrawGrid при зажатой левой клавишей мыши - C++ Builder
Как сделать так, чтобы зажав на DrawGrid левой клавишей мыши, началась его закраска и при перемещении мыши закрашивались другие клетки, над...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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