Skip to content
This repository has been archived by the owner on Nov 12, 2022. It is now read-only.
/ lifeEngine-old Public archive

Двигатель жизни. Игровой движок для 3D игр

License

Notifications You must be signed in to change notification settings

zombihello/lifeEngine-old

Repository files navigation

lifeEngine

Это игровой 2D-движок, написанный на С++ и распространяющийся под лицензией GNU LGPL. Он обладает высокоуровневым API которое упрощающает разработку игры.

На данный момент он в себя включает:

  • Статическое освещение (имитация освещения)
  • Загрузка игровых карт (XML формата)
  • Работа с динамическими объектами (пули, персонажи и т.д.)
  • Работа с анимациями
  • Небольшой GUI (кнопки и текст)
  • Возможность локализации
  • Работа со звуком и музыкой (звук подерживает имитацию 3D пространства подробнее здесь)

Для создания карт лучше всего использовать Tiled Map Editor, а для анимаций Sprite Decomposer.

Подключение к проету

Для начала необходимо добавить пути к .lib и .h файлам (Для Debug'a и Reales'a):

Для этого заходим в [Свойства проекта -> C/C++ -> Общее] и в поле "Дополнительные каталоги включаемых файлов" вставляем пути к таким папкам:

[lifeengine-install-path]/lifeEngine

[lifeengine-install-path]/lifeEngine/Utils/Box2D

[lifeengine-install-path]/lifeEngine/Utils/XML

[lifeengine-install-path]/lifeEngine/Utils/SFML/include

Далее заходим в [Свойства проекта -> Компановщик -> Общее] и в поле "Дополнительные каталоги библиотек" вставляем пути к таким папкам:

[lifeengine-install-path]/bin

[lifeengine-install-path]/lifeEngine/Utils/Box2D

[lifeengine-install-path]/lifeEngine/Utils/SFML/lib

После этого нужно подрубить .lib'ы:

Для этого заходим в [Свойства проекта -> Компановщик -> Ввод] и в поле "Дополнительные зависимости" вставляем такие либы:

Для Debug'a:

sfml-system-d.lib sfml-window-d.lib sfml-graphics-d.lib sfml-audio-d.lib box2d-d.lib lifeEngine-d.lib

Для Reales'a:

sfml-system.lib sfml-window.lib sfml-graphics.lib sfml-audio.lib box2d.lib lifeEngine.lib

И на последок нужно добавить в проект .cpp и .h файлы XML'a:

Заходим в [ [lifeengine-install-path]/lifeEngine/Utils/XML ] и все файлы перетаскиваем в свой проект. Готово, проект настроен

Код для теста

#include <leSystem/leSystem.h>

class Game : public le::BasicStagesGame
{
public:
	Game( le::System& System )
	{
		TextManager = new le::TextManager( *System );

		TextManager->LoadFont( "Resources/Dikovina.ttf" );
		TextManager->WriteText( "This is WORK!", 25, Vector2f( 10, 10 ), Color::White );
		TextManager->WriteText( "SPARTA!!", 25, Vector2f( 20, 20 ), Color::Red );
	}

	~Game()
	{
		delete TextManager;
	}

	void CheckStages()
	{
		TextManager->UpdateText();
	}

private:
	le::TextManager* TextManager;
};

int main( int argc, char** argv )
{
	le::System System( "config.cfg", argc, argv );
	System.SetWindowTitle( "lifeEngine work!" );

	Game game( System );
	System.MainLoop( game );

	return 0;
}