Как установить эту библиотеку на visual c++? Просто подключая хедеры и либы не выходит. На сайте написано, что нужно ещё FFmpeg, но на сайте FFmpeg три разные версии, какую мне нужно и как их ставить я не знаю. Если кто пользовался - помогите. Ещё он требует чтобы dll sfml находились в папке с экзешником, что тоже не очень кошерно. Ну и заодно вопрос. Ставил SFML на Code::Blocks. Устанавливал всё как на сайте, но самый простой код не работает. После запуска пишет - "Завершение программы SFML, Windows ищет способ решения проблемы". Что с ним не так? Буду рад помощи. sfeMovie FFmpeg
Вообще, если я просто закидываю длл из sfeMovie в папку с ехе, то он выдаёт исключение. Сейчас я закинул длл из shared туда же(там кстати либ нет, они только в dev), при этом некоторые пришлось с заменой копировать, он при запуске говорит, что Порядковый номер 49 не найден в библиотеке DLL swcale-2.dll. Пробовал подключать Dev версию. Выдавал исключение bad_alloc. Путь к файлу точно правильный.
Этот код для пуль из scroll shooter. Но он не работает. При этом элементы удаляются через один(я пробовал на тестовых примерах). С вектором ещё более не понятней. В чём ошибка, и как мне сделать нормальную реализацию стрельбы?
следовательно после него не нужно делать Iterator++ , т.к. тогда ты будешь скакать через одного.
тут вот какая фишка. Если не так, то у меня будет обрабатываться один и тот же элемент пока старый не удалится. То есть он должен пройти по всему вектору и если надо удалить.
Назрел такой вопрос, как в играх делают так, что в зависимости от размера окна все спрайты маштабируются, отображаются в нормальном качестве, и на своих местах? FinderX - Android Аркада
Сообщение отредактировал goldsphere - Суббота, 19 Октября 2013, 07:53
Я пришёл почти к тому же самому. Только я взял как за шаблон определённый размер(например 800, 600), потом получал размеры окна и получал коэффициент соотношения размеров к шаблону. Позицию умножал на этот коэффициент. И масштабировал тоже. Только иногда изображения растягивалось не очень приятно. FinderX - Android Аркада
First, насчёт растягивания текстур - я знаю, просто в моей игре есть выбор размера окна при котором окно пересоздаётся и в таком случае надо вручную растягивать спрайты и скажем, если у меня для каждого спрайта есть своя зона(например проверка нажатия на него) её тоже надо увеличивать.
Я точно не помню, но помоему если ты пишешь room_goto_next, то комнату указывать не надо, если надо именно в определённую комнату то так : room_goto(room1); FinderX - Android Аркада
if(enemy_i < e.size()) //столкновение с врагом.(если их много пролетает мимо) { loop1: if(it->isCollision(e[enemy_i])) { e[enemy_i].Spawn(res); it->Destroy(); it = b.erase(it); Player::Score++; continue; } }else { enemy_i = 0; goto loop1; } /*for(int i = 0;i < e.size();++i)//столкновение с врагом (вылетает ошибка vector interator not dereferencable) { loop1: if(it->isCollision(e[i])) { e[i].Spawn(res); it->Destroy(); e.size(); it = b.erase(it); Player::Score++; goto loop2; } }*/ it++; } if(!mouse.get_keycode(mouse_left)) click = false;
}
Проблема в следующем. Есть система повышения сложности, при которой, при определённом кол-ве очков увеличивается количество вражин проклятых и их скорость, но не в этом суть, когда их становится много (от 4 и >), то иногда снаряды пролетают сквозь них(чем их больше тем чаще), при этом с пули так с 3-4 он всё таки попадёт в него. В принципе, я понимаю что это может быть из-за того что при обработке столкновений он может не успеть проверить кого-то(с данным кодом). И логично было бы сделать проверку в цикле(тот, что закоменчен), но с ним вылетает ошибка vector iterator not derefencable. Вроде это значит, что не возможно разыменовать итератор вектора. Помогите найти ошибку?) . За goto только не бейте.
Забыл прояснить. enemy_i - заменяет итератор для врагов. int enemy_i; У меня сделано так, что она в основном цикле игры всё время меняется и e[enemy_i] проверяется на столкновение с пулей. Функция столкновения рабочая. Она проверяет расстояние от пули до врага и если оно меньше ширины врага, возвращает true.
ЦитатаMR_Borg ()
Ну и в третих непонял кто с кем сталкивается в Код *for(int i = 0;i < e.size();++i)//столкновение с врагом (вылетает ошибка i)
ну, дык с врагом
Код
for(int i = 0;i < e.size();++i)//столкновение с врагом (вылетает ошибка vector interator not dereferencable) { loop1: if(it->isCollision(e[i]))
ЦитатаMR_Borg ()
Зачем еще раз?
Это не ещё раз, это ещё один вариант, но он закоменчен, так как (вылетает ошибка vector interator not dereferencable)
Цитата
И где goto loop2;
он после
Код
for(auto it = b.begin(); it!= b.end();)//обработка механики пули
KiloMonster, ну зато у UDK, очень понятная и подробная документация, в том числе и скриптинг, я плохо знаю английский, но всё же разбираться получается, хотя я давно этим занимался.
ЦитатаKiloMonster ()
Проблема с "пиханием" этого самого скрипта в игру
Ну так научиться можно. Посмотри канал ogasoda, или вот эти уроки : http://xgm.ru/p/udk/57918. Объясняется, что да как. В юнити вообще используется полноценный Си шарп и джаваскрипт, ну естественно с UnityAPI. И присваивать скрипты объектам можно лишь перетянув их в объект(насколько я помню).
Добавлено (05.11.2013, 08:49) --------------------------------------------- Кстати у юнити документация тоже очень понятная, с примерами на каждый случай.
не сочетается, для огра нужны крепкие знания программирования и опыт в других движках.
ЦитатаAkopov ()
Blitz3d
Довольно старый, но можешь попробовать. К тому же полно по нему инфы. Без программирования здесь не обойтись. Можешь начать учить C# и взять юньку. Или если 2д можно Game maker и учить gml(это конечно куда легче). FinderX - Android Аркада
Ну основы то программирования (циклы, условия, алгоритмы..) я знаю , С++ пытался изучать ))
этого мало, нужны хорошие знания синтаксиса(что не сложно), наиболее используемых библиотек STL, ну и хоть какой-нибудь опыт в программировании игр FinderX - Android Аркада