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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не скачивается Libcurl 7.19.3 с официального сайта http://www.cyberforum.ru/cpp/thread1262267.html
Не качает libcurl 7.19.3 - http://curl.haxx.se/download/libcurl-7.19.3-win32-ssl-msvc.zip. Обновляют, или у них что-то не так?
C++ Qt Creator. Все "за" и "против" Доброго времени суток, форумчане! Сегодня задался вопросом использования такой IDE, как Qt Creator. Суть темы заключается в том, что я хотел бы узнать ваше мнение о сей IDE. Какие вы видите в ней плюсы и минусы, что для Вас удобно, а что раздражает. Сразу скажу, что интересует С++. Попрошу говорить по факту и не начинать баталии насчет того, что я "недочеловек". Заранее спасибо вам за ваши... http://www.cyberforum.ru/cpp/thread1260930.html
C++ Vecor и shared_ptr
Здравствуйте, не могли бы помочь разобраться с shared_ptr в векторе... Суть такова есть вектор с игроками, которые shared_ptr: std::vector<std::shared_ptr<rkPlayer>> player; // Находится в PlayerManager Далее, есть другой вектор, в котором должны быть указатели на некоторые объекты rkPlayer в player; Записаны у меня они так: std::vector<std::shared_ptr<rkPlayer>> player; // Находится...
Аллокатор памяти общего назначения C++
Добрый день! В ВУЗе задали написать аллокатор памяти общего назначения на С++, но у меня нет ни единого представления как это можно сделать, так как знаний по С++ не очень много, и вообще у меня нет представления о том как это должно выглядеть. Программа должна содержать 3 функции • void *mem_alloc(size_t size); функция должна выделить блок памяти заданного размера в size байт. Если блок...
C++ Поиск пикселей в изображении http://www.cyberforum.ru/cpp/thread1258111.html
В общем ситуация такая: нужно получить скрин экрана и найти координаты пикселей определённого цвета, к примеру белого. И это должно происходить как можно быстрее (GetPixel() отпадает). Буду рад ответам с примерами, заранее благодарен.
C++ Создание оконного приложения Подскажите, как сделать вот такое окно, с объектами на нём? Я в C++ полный void. Пока что только окно понял(не до конца) как вывести, задать размер, убрать меню. // Bone renamer.cpp: определяет точку входа для приложения. подробнее

Показать сообщение отдельно
Oleg_2349
Сообщений: n/a

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

25.09.2014, 19:58. Просмотров 313. Ответов 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 минут
Все нашел ошибку, извиняюсь за открытую тему
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru