Понедельник, 23 Декабря 2024, 07:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Передвижение по платформе в HGE (Вопрос)
iWudsДата: Суббота, 01 Февраля 2014, 09:46 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем доброго времени суток.

Прежде всего хочу сказать - что я не так давно начал работать с Hge.
Есть много вопросов.

Вот один из них - Допустим, мне необходимо создать платформу, по которой должен перемещаться объект (бегать вперёд, назад, прыгать). Нашёл тутор небольшой по HGE (Создание косм. шутера), всё вроде бы не плохо, но там передвижение осуществляется на сколько я понял свободно - вверх, вниз, вправо, влево по окну.
А как быть в моём случае? Как реализовывается физика в Hge? Или нужно доп. движок подключать?

Возможно есть тутор под мой случай? Если нет, то подскажите какой физ. движок подключить стоит. И как.

Буду очень рад если вы мне поможете.

Добавлено (01.02.2014, 09:46)
---------------------------------------------
Решил подключить физический движок Box 2D. Туторов по подключению подробных не нашёл, решил сам попробовать. Вроде бы всё сделал, но - проблема при компиляции. Вот такую ошибку выдаёт:

1>e:\box2d v2.2.1\box2d\box2d.h(34): fatal error C1083: Не удается открыть файл включение: Box2D/Common/b2Settings.h: No such file or directory

Проверил по указанному пути в ошибке файл. Он на месте. Даже не знаю что делать. Может знает кто что делать?


Начал разработку игр на HGE. Также работаю в Ps.
last2424Дата: Суббота, 01 Февраля 2014, 11:21 | Сообщение # 2
30 мл. блоков
Сейчас нет на сайте
iWuds, я в хже не разбираюсь, но если там вообще нет никакой физики напиши свою.
Синтаксис примерно таков:
Код
if(если под ногами игрока что то есть){
игрок перестаёт падать
}else{
игрок падает
}.


Падение сделай что бы игрока тянуло в низ.


Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
iWudsДата: Понедельник, 03 Февраля 2014, 16:38 | Сообщение # 3
был не раз
Сейчас нет на сайте
last2424, Спасибо, я попробую)

Но вот конечно Box2D бы подключить и юзать совместно с ним было бы не плохо, но не получается вот что-то(


Начал разработку игр на HGE. Также работаю в Ps.
SanoraagДата: Понедельник, 03 Февраля 2014, 18:11 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Нет на корню не правильно. Я сам работал с hge(честно, кривая библиотека перешёл на sfml(тоже кривоватая )) Но Last 2424 дает неправильную инфу. Да так можно но лучше так не делать(сам пробовал множество багов (распрыжка и так далее)) .

А ошибка такая потому, что не подключил все библиотеки

Добавлено (03.02.2014, 18:11)
---------------------------------------------
Честно HGE сделано несколько убого (там куча лагов ) лучше sfml (ИМХО) и действительно подключи Box2d а еще лучше сделай свою мини-библиотеку физики biggrin




Сообщение отредактировал Sanoraag - Понедельник, 03 Февраля 2014, 18:08
iWudsДата: Среда, 05 Февраля 2014, 15:03 | Сообщение # 5
был не раз
Сейчас нет на сайте
Случилась беда. Снова Visual Studio перестал компилировать проект. Вот такая ошибка:

1>------ Построение начато: проект: GameOnHGE, Конфигурация: Debug Win32 ------
1>Не удается завершить операцию, так как ещё не был вызван BeginBuild.
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Искал в гугле, нашёл такую же тему на сайте микрософта. Там говорят мол реинсталировать надо и студию и windows. До этого у меня уже такая проблема бывала, пробывал как советовали на микрософте - но не помогает. По началу всё было отлично, ни с того ни с сего перестало компилировать. Не знаю что и делать. Причём не компилирует не отдельный проект, а вообще всё, даже сонсольное приложение. Может кто знает что делать?


Начал разработку игр на HGE. Также работаю в Ps.
SanoraagДата: Среда, 05 Февраля 2014, 16:08 | Сообщение # 6
почетный гость
Сейчас нет на сайте
есть 2 варианта проблема компилятора или проблема бибиотеки. но так как библиотеки прямые то думаю библиотки. но попробуй переустановить студию

iWudsДата: Среда, 05 Февраля 2014, 20:43 | Сообщение # 7
был не раз
Сейчас нет на сайте
Sanoraag, Реинсталлировал студию, первый запуск проходит хорошо, компилит. После перезагрузки (2 запуск) и всё, снова БегинБилд. Юзаю Visual Studio 12. Качал знакомый, возможно с торрента я не могу сказать точно, iso файл. Может стоит попробывать версию другую? или что?

Начал разработку игр на HGE. Также работаю в Ps.
SanoraagДата: Среда, 05 Февраля 2014, 21:44 | Сообщение # 8
почетный гость
Сейчас нет на сайте
смотри даю 2 варианта: 1)скачай 2013 студию с официального сайта 2)попробую библиотеку Sfml

Добавлено (05.02.2014, 21:44)
---------------------------------------------
кстати а скинь мне код а? я попробую у себя ок?


iWudsДата: Четверг, 06 Февраля 2014, 15:05 | Сообщение # 9
был не раз
Сейчас нет на сайте
Вероятнее всего перейду на новую Unity 3D. Посмотрю что нового.
А по коду:

Код
#include <hge.h>
#include "hgesprite.h"
#include "hgevector.h"
#define BACKGROUND_SCROLLING_SPEED 0.105f

HGE *hge = 0;

// Задний фон

HTEXTURE g_tBackground = 0; // Задний фон
HTEXTURE g_tOblaka     = 0; // Облака

hgeSprite* g_sBackground = NULL;
hgeSprite* g_sOblaka     = NULL;

hgeVector  g_vBGPosition  = hgeVector(0,0);

bool FrameFunc()
{
  if(g_vBGPosition.x < 800) g_vBGPosition.x += BACKGROUND_SCROLLING_SPEED;
  else g_vBGPosition = hgeVector(-982,0);
   
     if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;

     return false;
}

bool RenderFunc()
{
     hge->Gfx_BeginScene();
     hge->Gfx_Clear(0);
     g_sBackground->Render(g_vBGPosition.x,g_vBGPosition.y);
  if(g_vBGPosition.x > -1) g_sBackground->Render(g_vBGPosition.x - 982 - 800, 0);
  g_sOblaka->Render(g_vBGPosition.x,g_vBGPosition.y);
  if(g_vBGPosition.x > -1) g_sOblaka->Render(g_vBGPosition.x - 982 - 800, 0);
     hge->Gfx_EndScene();
     return false;
}

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
      
     hge = hgeCreate(HGE_VERSION);
     hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);
  hge->System_SetState(HGE_RENDERFUNC, RenderFunc);
     hge->System_SetState(HGE_TITLE, "Son ADVENTURE");
     hge->System_SetState(HGE_WINDOWED, true);
     hge->System_SetState(HGE_USESOUND, false);
      
      
     if(hge->System_Initiate())
     {
   g_tBackground  = hge->Texture_Load("images/farback.jpg");
   g_tOblaka      = hge->Texture_Load("images/oblaka.png");

         g_sBackground  = new hgeSprite(g_tBackground, 0, 0, 1782, 600);
   g_sOblaka      = new hgeSprite(g_tOblaka, 0, 0, 1782, 600);

   g_vBGPosition  = hgeVector(-982, 0);

         hge->System_Start();

   hge->Texture_Free(g_tBackground);
     hge->Texture_Free(g_tOblaka);
   
     delete g_sBackground;
     delete g_sOblaka;

     }
     else
     {     
          
         MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
     }
      
      
     hge->System_Shutdown();
      
     
     hge->Release();
      
     return 0;
}


Начал разработку игр на HGE. Также работаю в Ps.
SanoraagДата: Четверг, 06 Февраля 2014, 15:24 | Сообщение # 10
почетный гость
Сейчас нет на сайте
зря если честно ты на uinty но ок. А код я этот знаю установи новый Ide (Visual studio 2013 CodeBlock)

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг