С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

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

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

25.09.2014, 19:58. Просмотров 345. Ответов 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 минут
Все нашел ошибку, извиняюсь за открытую тему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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.