Понедельник, 11 Ноября 2024, 05:25

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Нужна помощь с проектом в Game Maker
SovaDeveloperДата: Воскресенье, 23 Октября 2016, 01:43 | Сообщение # 1
был не раз
Сейчас нет на сайте
http://rgho.st/8BP6P2JZB - Исходник игры

Кому не сложно подскажите как исправить:
1) При столкновении игрок застревает в стенах/башнях/ деревьях
2)При смерти игрока , враг продолжает идти к его координатам, и выдает ошибку, т.к. объекта игрока уже нету в комнате
3) Сделать спавн 1. Врагов 2.Сердечек 3.Монеток в абсолютно случайных местах в комнате

Заранее огромное человеческое спасибо!!!!
TLTДата: Воскресенье, 23 Октября 2016, 13:01 | Сообщение # 2
Сейчас нет на сайте
Для нормального столкновения настрой маски столкновений для ВСЕХ спрайтов: персонаж, деревья, монстры и т.д. Например, так:

Прикрепления: 0508933.png (31.1 Kb)


Дао, выраженное словами, не есть истинное Дао.
SovaDeveloperДата: Воскресенье, 23 Октября 2016, 16:21 | Сообщение # 3
был не раз
Сейчас нет на сайте
TLT, , спасибо! А насчет остальных моих вопросов можешь подсказать? :)
+ Репа)


Сообщение отредактировал SovaDeveloper - Воскресенье, 23 Октября 2016, 18:43
LosiahДата: Воскресенье, 23 Октября 2016, 17:23 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Я не специалист но я бы сделал так.
1 я бы использовал для всех объектов и персонажей -> объект со спрайтом квадратика(определённых размеров) а уже в функции драв писал какой спрайт должен рисоваться (но это я).
2 напиши в шапку аи врага "идти к персонажу" глобальное условие типо как if (global.go_hero==true) {тут код преследование} если твой герой умер то отключаешь эту функцию.
3 весь спавн лучше сделать через таймлайн. указываешь нужный период и в конце вернуть к началу прописываешь. в тайм лайне прописываешь функцию instance_create(irandom(x),irandom(y),(сердце монетка или враг)) таким образом каждую минуту(к примеру) появляется => враг, монетка и тд.
irandom(50) - рандомное целое число от 0 до 50.
irandom_range(20,50) - рандомное целое число от 20 до 50.

Добавлено (23 октября 2016, 17:23)
---------------------------------------------
я делал некоторого рода поделку с таймлайном и прочим тут 4 разных уровня и очень много примеров разных механик. "генерация мира" "торговля" "чат" "хождение по мировой карте" "чтение заклинаний" "предметы отбрасывают тень по времени дня"
чтобы перейти к примеру №2 клик на логотип.
чтобы перейти к примеру №3 клик на город.
чтобы перейти к примеру №4 подойти к краю карты.


сам макет gms не прикладываю, так как смотреть в мой код всё равно что стрелять себе в ногу, если сильно надо буде пиши в личку




Сообщение отредактировал Losiah - Воскресенье, 23 Октября 2016, 17:57
SovaDeveloperДата: Воскресенье, 23 Октября 2016, 18:43 | Сообщение # 5
был не раз
Сейчас нет на сайте
Losiah, Сложна.... :( Я в Game Maker от силы неделю разбираюсь, и очень много не знаю, а курсовая сама не напишется....
Буду пробовать! Спасибо за совет, лови репу!)
Quad69Дата: Воскресенье, 23 Октября 2016, 19:04 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Цитата SovaDeveloper ()
1) При столкновении игрок застревает в стенах/башнях/ деревьях
Может быть проблема с маской, или код движения/столкновения кривой.

Цитата SovaDeveloper ()
2)При смерти игрока , враг продолжает идти к его координатам, и выдает ошибку, т.к. объекта игрока уже нету в комнате
Добавь ещё одно условие: instance_exists(проверяемый_объект) - Вернёт true есть проверяемый_объект есть в комнате.

Цитата SovaDeveloper ()
3) Сделать спавн 1. Врагов 2.Сердечек 3.Монеток в абсолютно случайных местах в комнате
Код
instance_create(irandom(room_width),irandom(room_height),объект)


Сообщение отредактировал maksim1221232 - Воскресенье, 23 Октября 2016, 19:04
JohnnyHamДата: Воскресенье, 23 Октября 2016, 21:01 | Сообщение # 7
MadBro
Сейчас нет на сайте
Не волнуйся... Через несколько месяцев так будешь шпарить, как Боженька :D

Чем лучше—тем хуже
SovaDeveloperДата: Воскресенье, 23 Октября 2016, 23:27 | Сообщение # 8
был не раз
Сейчас нет на сайте
maksim1221232, Вот с 3 вопросом ты мне помог, начсет остального я опять же повторюсь, что плохо шарю в GM :(
Тем не мение + в репу)!

Добавлено (23 октября 2016, 23:27)
---------------------------------------------
JohnnyHam, Надеюсь!)

Сообщение отредактировал SovaDeveloper - Воскресенье, 23 Октября 2016, 23:27
LosiahДата: Воскресенье, 23 Октября 2016, 23:42 | Сообщение # 9
почетный гость
Сейчас нет на сайте
Смотри - у тебя есть объект ВРАГ. в нём (скорее всего в step) написан скрипт на преследования твоего героя. берёшь весь скрипт и в начале пишешь

if instance_exists(главный_герой_объект)
{

// твой скрипт

}

всё что попадает между { } перед условием if. будет выполнятся в том случае если условие if выполняется.
то есть:
если существует(главный_герой)
то выполнить -> { // твой скрипт }

P.S. лучше будет если ты скинешь свой проект чтобы мы могли более толково рассказать




Сообщение отредактировал Losiah - Воскресенье, 23 Октября 2016, 23:44
Quad69Дата: Воскресенье, 23 Октября 2016, 23:53 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
Цитата Losiah ()
P.S. лучше будет если ты скинешь свой проект чтобы мы могли более толково рассказать

Цитата SovaDeveloper ()
http://rgho.st/8BP6P2JZB - Исходник игры
LosiahДата: Понедельник, 24 Октября 2016, 00:03 | Сообщение # 11
почетный гость
Сейчас нет на сайте
if instance_exists(o_player) в самое начало скрипт в степах у о_enemy

в o_enemyball, в create вот так должно быть
if instance_exists(o_player)
{
move_towards_point(o_player.x, o_player.y, 10);
image_angle = direction;
}




Сообщение отредактировал Losiah - Понедельник, 24 Октября 2016, 00:10
SovaDeveloperДата: Понедельник, 24 Октября 2016, 00:34 | Сообщение # 12
был не раз
Сейчас нет на сайте
Losiah, теперь при смерти игрока ошибок не выдает!!!! О ЧУДО :D Спасибо!
Вопросов еще много :p
У меня в степе героя последней строчкой идет if heslth < 1 room_previous(main), при смерти игрока переход в меню собственно не осуществляется, почему?
LosiahДата: Понедельник, 24 Октября 2016, 00:39 | Сообщение # 13
почетный гость
Сейчас нет на сайте
room_previous(numb) Возвращает индекс предыдущей комнаты (-1 = ничего), но не совершает переход в неё.
room_goto(numb) Совершает переход в комнату с идентификатором numb.


SovaDeveloperДата: Понедельник, 24 Октября 2016, 00:44 | Сообщение # 14
был не раз
Сейчас нет на сайте
Losiah, Собственно вот http://rgho.st/8MMHZT9fR


Сообщение отредактировал SovaDeveloper - Понедельник, 24 Октября 2016, 00:45
LosiahДата: Понедельник, 24 Октября 2016, 00:51 | Сообщение # 15
почетный гость
Сейчас нет на сайте
нету комнаты номер 1. название комнаты пиши в (numb) то есть room_goto(Main)



Сообщение отредактировал Losiah - Понедельник, 24 Октября 2016, 00:52
SovaDeveloperДата: Понедельник, 24 Октября 2016, 00:53 | Сообщение # 16
был не раз
Сейчас нет на сайте
Losiah, Так а я ж вроде так и написал....
if health < 1 room_goto(Main)
Сорян за мою тупость :(
LosiahДата: Понедельник, 24 Октября 2016, 01:11 | Сообщение # 17
почетный гость
Сейчас нет на сайте
if health < 1 room_goto(room_first) напиши так. это мой косяк а не твой. я ещё много чего не знаю :D

SovaDeveloperДата: Понедельник, 24 Октября 2016, 01:15 | Сообщение # 18
был не раз
Сейчас нет на сайте
maksim1221232, Вообщем-то твой способ со спавном работает, опять же спасибо!) Но возникла проблемка, они спавнятся где попало то есть , на твердых объектах в том числе, куда не может долететь пуля, или сам герой не может туда пройти, как быть?

Добавлено (24 октября 2016, 01:15)
---------------------------------------------
Losiah, Ты себе не представляешь как ты меня выручаешь!) Можешь объяснить почему пишем room_first а не название комнаты?

LosiahДата: Понедельник, 24 Октября 2016, 01:24 | Сообщение # 19
почетный гость
Сейчас нет на сайте
судя по всему комнатам надо присваивать индекс и указывать в скобках. room_first отсылка к индексу первой комнаты.

SovaDeveloperДата: Понедельник, 24 Октября 2016, 01:27 | Сообщение # 20
был не раз
Сейчас нет на сайте
Losiah, угуууу, впринципе понял
Такс) Я ушел, время уже позднее, пора отдыхать, надеюсь завтра поможешь мне еще с несколькими вопросами, еще раз спасибо, без тебя вряд ли с чем-либо разобрался бы....)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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