2016-05-02 2 views
-1

По какой-то причине аллегро (C++ Game Engine), бросает ошибки, когда я пытаюсь запустить ... Итак, сначала этот код работает нормально! :Allegro Выбрасывает ошибки при попытке нарисовать линии

#include <allegro5/allegro.h> 
#include <allegro5/allegro_primitives.h> 

int main(void) 
{ 
    int width = 640, height = 480; 
     ALLEGRO_DISPLAY *display = NULL; 

    if (!al_init()) 
     return -1; 


     display = al_create_display(width, height); 


    if (!display) 
     return -1; 


     al_flip_display(); 

     //al_draw_line(100, 100, width - 100, 100, al_map_rgb(255, 0, 0), 1); 
     al_rest(3); 


      al_destroy_display(display); 
     return 0; 
    } 

Но внезапно, когда я пытаюсь расколоть эту строку выше, я получаю эту «ошибку». enter image description here

Более Closer Up:

enter image description here

Как вы можете видеть выше, это какой-то тип утверждения failling ... Im Confused ?! Помощь будет оценена!

+0

Хм ... это проблема, что трудно? – amanuel2

+0

Нет, но быстрый поиск Google привел к тому, что ответ находился в элементе _first_ в списке результатов. Может быть, вам стоит попробовать. Подсказка: вы забыли называть что-то для инициализации надстройки. –

+0

Что я забыл @CaptainObvlious ... потому что, если ваш метод работает .. плохо чувствую себя очень жаль, я просто удалил свои файлы allegro и попытался переустановить их обратно. – amanuel2

ответ

1

Прежде чем вы сможете использовать добавление примитивов, вам необходимо инициализировать его, позвонив по телефону al_init_primitives_addon.

#include <allegro5/allegro.h> 
#include <allegro5/allegro_primitives.h> 

int main(void) 
{ 
    int width = 640, height = 480; 
    ALLEGRO_DISPLAY *display = NULL; 

    if (!al_init()) 
     return -1; 


    display = al_create_display(width, height); 

    if (!display) 
     return -1; 

    al_init_primitives_addon(); 

    if (!al_init_primitives_addon()) 
     return -1; 

    al_draw_line(0, 50, 300, 100, al_map_rgb(255, 0, 4), 1.0f); 

    al_flip_display(); 


    al_rest(13); 


    al_shutdown_primitives_addon(); 

    al_destroy_display(display); 
    return 0; 
} 

Полная документация может быть найдена здесь: https://www.allegro.cc/manual/5/al_init_primitives_addon.

Не забудьте позвонить по телефону al_shutdown_primitives_addon, когда все будет готово.

+0

Хорошо, но теперь я вижу только черный экран ... Конечно, с al_draw_line раскомментирован ... – amanuel2

+0

Наверное, новый вопрос, @Dsafds. Сначала рекомендуем немного чтения документа. Может быть что-то вроде: «Да, я закончил обновление буфера. Положите его на экран, Кей?» вызов функции, который вам нужно сделать. – user4581301

+0

Um ...... ????????? Udating Bufer ??? Я не положил его на экран ????????????? – amanuel2