Результаты поиска
| |
JunkerKun | Дата: Четверг, 28 Ноября 2013, 01:27 | Сообщение # 21 | Тема: Ищу движок |
частый гость
Сейчас нет на сайте
| Ам... пррррррр...
А что имеется в виду под 2D+3D? Если имеется в виду 3D квест с перемещением по 2D бэкграундам, то вроде бы Wintermute engine умеет 3D модели рисовать, но это для ПК. С ИИ тоже не понял: зачем в квесте ИИ? (Хотя, я в The Walking Dead не играл, не знаю, что там).
Пуфффф... на андроид нет таких уж простых решений, нужно писать свой движок. А у андроида API довольно... упоротый, я решительно не понимаю, как люди под него игры пишут. Хотя, возможно, я просто мало с ним работал. В общем, если игра только для себя, то я бы повременил с андроидом. А так, Wintermute engine для квестов подходит в самый раз.
|
|
| |
JunkerKun | Дата: Четверг, 28 Ноября 2013, 01:18 | Сообщение # 22 | Тема: Выбор движка без заморочек. |
частый гость
Сейчас нет на сайте
| 1) Повеселило. Заморочки с VS будут всегда, просто потому что это VS. Юнити и UDK имеют собственные IDE и не дают доступа к исходному коду, потому и "установил и попер". С движками, в которых надо все делать ручками, такого не будет. 4) Платформы на ПК? Нужна ли кроссплатформенность? 5) Смотря что имеется в виду под "многопользовательской игрой". Если ММОРПГ с овер 9000 игроков, да, нельзя. А если обычная такая многопользовательская игрулька с дефматчем, то можно. 32 игрока вроде стандартный лимит, хотя, могу ошибаться, с UDK не работал. 6) Да что же вы английский то не учите? (не воспринимать всерьез, знаю, что некоторые в школе немецкий учили).
7) Удобный движок без гемора со сборкой это мечта всех гейм девелоперов. Но, увы, пока что лишь мечта. Есть, конечно, решения но и в них куча подводных камней.
Вообще, судя по требованиям, может подойти Irrlicht. В нем нужно лишь подключить одну библиотеку, да и документация неплохая.Проблемы две: Irrlicht не игровой движок, это движок для 3Д рендеринга, то есть всю логику писать надо ручками, здесь не будет такого, что зафигачил "сделать мне ФПС" и получится ФПС. Хотя, определенные возможности для этого есть (примитивная обработка коллизий и ФПС камера из коробки). Вторая проблема - документация на английском. НО можно спросить автора про немецкий мануал (он немец), либо же отправиться на Irrlicht.ru (если не ошибаюсь), и взять там перевод на русский. Вот только, черт его знает, доки от какой версии там лежат.
А, ну и Irrlicht полностью бесплатен даже для коммерции.
|
|
| |
JunkerKun | Дата: Четверг, 28 Ноября 2013, 01:03 | Сообщение # 23 | Тема: Вопрос - Ответ (Game Maker) |
частый гость
Сейчас нет на сайте
| Цитата t111 ( ) я как раз и не знаю какую фю подобрать. Так, для справки (мало ли пригодится): Есть вариант использовать direction_point с point_distance и проверять углы:
Код sprites[0]=sprRight; sprites[1]=sprUp; sprites[2]=sprLeft; sprites[3]=sprDown;
dir = direction_point(player.x,player.y, obj.x, obj.y); dist = point_distance(player.x,player.y, obj.x, obj.y);
if (dist>50 && dist<100) { dir2 = dir-45; if (dir2<0) dir2=0; sprite = sprites[4/360*dir2]; };
Ну или как-то так. Делал подобное для 8 направлений.
|
|
| |
JunkerKun | Дата: Среда, 27 Ноября 2013, 20:18 | Сообщение # 24 | Тема: Вопрос - Ответ (Game Maker) |
частый гость
Сейчас нет на сайте
| Цитата krap ( ) Вопрос: как сделать так чтобы панель не изменялась в высоте и ширине относительно вида? Если я правильно понял, что требуется, то нужно поставить view_wport и view_hport в значение view_wview и view_hview соответственно. При этом, естественно, увеличится поле видимости. если же требуется не это, то, увы, никак. Тайлы всегда будут масштабироваться вместе с видом, поэтому для панели стоит использовать спрайт. Вообще, не понимаю, отчего используются тайлы, но, видимо, есть причина.
P.S. я могу ошибаться, но вроде как есть функция, задающая масштаб тайла. Если есть, то можно использовать ее, и менять масштаб относительно вида. Но, честно говоря, спрайтом было бы куда удобнее.
Без скриншотов сказать что-то еще довольно сложно.
Сообщение отредактировал JunkerKun - Среда, 27 Ноября 2013, 20:18 |
|
| |
JunkerKun | Дата: Понедельник, 25 Ноября 2013, 13:56 | Сообщение # 25 | Тема: Вопрос - Ответ (Game Maker) |
частый гость
Сейчас нет на сайте
| Цитата adast12 ( ) Мне нужно рисовать текст спрайтом. Чтобы каждая буква была спрайтом. Можно пример? Можно создать шрифт из спрайта. Для этого нужно воспользоваться командой "font_add_sprite" (посмотри в мануале про нее). Единственное, что стоит объяснить, так это второй параметр. Это стартовый символ, с которого начнет создавать шрифт ГМ. Всего символов может быть 255, но в ГМ ты можешь ограничить их количество, и создать, допустим, только 10 кадров в спрайте, только для цифр. Естественно, ничего, кроме цифр этот шрифт отображать и не будет. Для всего промежутка русских и английских букв хватает поставить этот параметр в 33 и сделать 222 символа. Я для этого пользовался написанной мной же и на ГМ утилитой. Пример: http://rghost.ru/50436042
Шрифт нужно ставить каждый раз, когда хочешь им что-нибудь отрисовать (или же один раз, в самом начале игры, если шрифт будет всего один). Чтобы он был доступен везде, можно сделать переменную для него глобальной.
|
|
| |
JunkerKun | Дата: Воскресенье, 24 Ноября 2013, 02:06 | Сообщение # 26 | Тема: Вопрос - Ответ (Game Maker) |
частый гость
Сейчас нет на сайте
| Цитата t111 ( ) чтобы объект игрока не застревал на ней. А то прыгаю на неё чуваком и оба останавливаются.
Проверять на столкновение игрока с платформой, и если есть столкновение, присваивать "Y" координате игрока значение "Y" координаты платформы (с определенным смещением). Примерно вот так: Код col = collision_point(x,y+16,obj_platform); if (col) { y = col.y-6; };
Событие столкновения с платформой в таком случае делать не нужно.
Сообщение отредактировал JunkerKun - Воскресенье, 24 Ноября 2013, 02:08 |
|
| |
JunkerKun | Дата: Суббота, 16 Ноября 2013, 21:09 | Сообщение # 27 | Тема: Вопрос - Ответ (Game Maker) |
частый гость
Сейчас нет на сайте
| Цитата adast12 ( ) Помогите вот код if logger=1 { if coins >= 3000; { coins-=3000; del=9 sprite_index=applied; } }
Почему выдает ошибку malformed if statement?
Потому что точка с запятой после условия стоит. Чтобы впредь не ошибаться, советую заключать условия в скобки и ставить первую фигурную скобку на одной линии с условием: Код if (variable == 1) { do something; };
|
|
| |
JunkerKun | Дата: Пятница, 12 Июля 2013, 15:45 | Сообщение # 28 | Тема: Анимация атаки, выбор цели, урон. |
частый гость
Сейчас нет на сайте
| Попробуй все закатить под одно условие: Код if (!IsAttacking) { if speed_x<0.5 if speed_x>-0.5 sprite_index=spr_hero_stance };
А когда атакуешь, ставь IsAttacking=true; Соответственно, когда атака прекратилась IsAttacking=false;
Сообщение отредактировал JunkerKun - Пятница, 12 Июля 2013, 15:46 |
|
| |
JunkerKun | Дата: Пятница, 12 Июля 2013, 15:42 | Сообщение # 29 | Тема: Отталкивание куба только сверху |
частый гость
Сейчас нет на сайте
| Цитата (valeranagato) Как тогда сделать не Room Restart, а знаешь как, чтобы когда куб сталкивался слева, справа или снизу то он будто на мелкие части разлетался и через секунды 2 рестартился рум.
Есть два способа. Первый использовать частицы или перерисовывать спрайт. Первый способ:
-При столкновении чуть-чуть отодвигаем игрока назад, чтобы событие столкновения больше не срабатывало (x=xprevious), блокируем управление. -Меняем ему спрайт (sprite_index = название спрайта) -Запускаем таймер на 2 -В событии таймера пишем room_restart();
Второй способ: -При столкновении чуть-чуть отодвигаем игрока назад, чтобы событие столкновения больше не срабатывало (x=xprevious), блокируем управление. -Создаем кучу объектов, падающих вниз, со спрайтом кубиков помельче, делаем объект игрока невидимым. -Запускаем таймер на 2 -В событии таймера пишем room_restart();
В обоих случаях первые пункты можно заменить на использование флажка, к примеру if (PlayerDead) {проверка столкновений}
Как-то так: Код if (place_meeting(x+1,y,objPlatform) || place_meeting(x-1,y,objPlatform)) { x=xprevious; sprite_index =deadSprite; alarm[0]=2; };
В алярме:
Сообщение отредактировал JunkerKun - Пятница, 12 Июля 2013, 15:43 |
|
| |
JunkerKun | Дата: Пятница, 12 Июля 2013, 03:34 | Сообщение # 30 | Тема: Отталкивание куба только сверху |
частый гость
Сейчас нет на сайте
| Не совсем понял, но полагаю, имеется в виду, что стоять кубик может лишь на верхней части платформы? Если да, то можно использовать if (place_meeting(x,y+1,objPlatform)) у куба или if (place_meeting(x,y-1,objCube)) у платформ. Лучше, конечно, у куба.
Сообщение отредактировал JunkerKun - Пятница, 12 Июля 2013, 03:34 |
|
| |
|