CodeBlocks + Allegro
Содержание: 1. Пару слов о CodeBlocks. 2. Пару слов об Allegro. 3. Ставим Allegro.
Пару слов о CodeBlocks.
CodeBlocks - это кросплатформенная IDE для разработки программ на языках С/С++. Умеет работать со многими компиляторами, программа насколько проста в освоении, настолько и эффективна. Множество настроек, которые вы можете подогнать под свой вкус, от расскраски Editor-а, до userTamplate-ов, помогут вам быстро освоиться в этой среде разработки. Об установке данной программы для Windows, я достаточно подробно рассказал в заметке: CodeBlocks + SDL ( http://dimanche.ucoz.ru/publ/1-1-0-31 ). Правда там я использовал старую версию этого ИДЕ RC1, теперь я расскажу как пользоваться новой. На момент написания статьи самой новой была версия Code::Blocks 8.02. Схема написания версий несколько изменилась, теперь цифры означают дату релиза : например версия 8.02 была выпущена в феврале 2008 года. ( отсюда и 8.02) А вот в установке ничего не изменилось, как было всё "в три щелчка" так и осталось.
Пару слов об Allegro.
Библиотека Allegro(Atari Low-Level Game Routines) является бесплатной, кросплатформенной библиотекой с открытым кодом, для разработки игр. Изначально она была создана, где-то в начале 90-ых годов, программистом по имени Shawn Hargreaves для компьютера Atari ST. Но как только вышел окончательный ее релиз, Атари "приказал долго жить". Shawn-у ничего не оставалось как портировать ее на ПК. И года до 95 библиотека поддерживала ДОС и два компилятора Borland C++ и DJGPP. Уже после, осуществлялась поддержка Windows и *nix систем. И начиная с версии 4.0 библиотека стала кросплатформенной. На данный момент версия Stable 4.2.2 от 27.04.08 поддерживает:
Cross-platform support:
-
Unix (Linux, FreeBSD, Irix, Solaris, Darwin)
-
Windows (MSVC, MinGW, Cygwin, Borland)
-
BeOS
-
QNX
-
MacOS X
-
Dos (DJGPP, Watcom)
На сегоднешний день, пожалуй это самый простой в освоении движок, так как его корни уходят в программирование под ДОС, то программы на нем, лаконичны и просты, но от этого не менее эффективны. Существует много документации, есть активное, доброжелательное комьюнити, на этом движке написанно множество игр разных жанров, а также движки для 2D файтингов M.U.G.E.N и FFE (Free Fighting Engine) и один из самых популярных редакторов для Diablo2 (Diablo II Map Editor). Все игры на этом движке как правило с открытыми исходниками, так что вы можете, как скачать и поиграть в них так покапаться в чужом коде, сделав свой мод для игры или просто, к примеру, изменить правила.
Ставим Allegro.
Итак самый простой способ подключить Allegro к CodeBlocks это воспользоваться одним из plag-in -ов, а именно Dev-C++ DevPack updater/installer этот плагин синхронизуется с интернет-коллекцией библиотек для другой ИДЕ Dev-C++ от Bloodshed Software (На настоящий момент не разрабатывается). Так вот, там же имеется возможность скачать и установить библиотеку Allegro, и мы воспользуемся этой возможностью! Запускаем CodeBlocks и создаем новый проект "Create a new project" как "Empty Project" - пустой проект. Создадим для него специальную папку, вот к примеру как создал я:
Так теперь мы имеем пустой проект, даже без файлов. Ок, создадим новый файл Ctrl+Shift+N , по нажатии этих кнопок выскочит окошко с предложением вновь созданный файл прицепить к текущему проекту - соглашаемся, и обзываем его как хотим, я назвал main. Мы должны увидеть в левой части CodeBlocks в "дереве" нашего проекта наш файл. Заходим в него и пишем нашу первую программу для Allegro.
int main() { allegro_init(); // инициализация движка install_keyboard(); // инициализация клавы
if (set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0)) // инициализация видео-режима { allegro_message("Error setting GFX mode to 640x480"); // если ошибка, то сообщаем return 1; }
textout_centre(screen, font, "Hello Allegro World!", SCREEN_W / 2, SCREEN_H / 2, makecol(255, 255, 255));//вывод текста
readkey(); // ждем нажатия кнопки return 0; } END_OF_MAIN(); // здесь закончим
Как видите ничего сложного нет. Все абсолютно просто. Пытаемся все это скомпилить и запустить - нажимаем F9 и ... фигушки! Мы же еще не установили ничего. Пора установить Allegro. Идем в меню Plugins -> Dec-C++ DevPack updater/installer и после синхронизации с сервером(интернет конечно должен быть уже включен) получаем список доступных библиотек и видим примерно такую картину:
Выбираем слева Allegro и уже в правом окне жмыхаем правой же кнопкой мыши на самую свежую доступную версию нужной нам библиотеки (на скриншоте ясно все показано) и выбираем "скачать и установить" (Download & install). Ок, потом снова Ок - в общем "по-накатанной" схеме. В результате установки dll-ка будет брошена в bin директорию, желательно положить ее еще и в папку c:\windows\system32 для win`XP или c:\windows\system для win`98, по причинам которые я описал в статье про SDL. Теперь надо прилинковать кое что, идем сюда: Project->Build options->Linker Settings и нажимаем кнопочку Add . Ищем библиотеку "liballeg.a" и присоединяем ее.
Отлично. Жмем F9 и любуемся : Hello Allegro World! У нас получилось. Теперь можете качать мануал и множество исходников игр, сделанных на Allegro. Удачи!
Другой способ.
в папке bin лежат dll-ки, в папке lib - либы, а в папке include- заголовочные файлы движка(хидеры). Ну а дальше все элементарно, действуем так же как и с движком SDL , то есть переписываем dll-ки в папку c:\windows\system32 для win`XP или c:\windows\system для win`98. lib-файлы переписываем в lib-ы CodeBlocks-а, и инклуды (include) так же в его include. Перед компиляцией проекта не забудьте прилинковать liballeg.a . Удачи ;)
Хочу заметить, что проект развивается, и скоро будет доступна версия номер 5. Следите за новостями.
Материалы и ссылки на сайты с Allegro:
|