Нужна помощь с проектом в Game Maker
|
|
SovaDeveloper | Дата: Воскресенье, 23 Октября 2016, 01:43 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| http://rgho.st/8BP6P2JZB - Исходник игры
Кому не сложно подскажите как исправить: 1) При столкновении игрок застревает в стенах/башнях/ деревьях 2)При смерти игрока , враг продолжает идти к его координатам, и выдает ошибку, т.к. объекта игрока уже нету в комнате 3) Сделать спавн 1. Врагов 2.Сердечек 3.Монеток в абсолютно случайных местах в комнате Заранее огромное человеческое спасибо!!!!
|
|
| |
TLT | Дата: Воскресенье, 23 Октября 2016, 13:01 | Сообщение # 2 |
Сейчас нет на сайте
| Для нормального столкновения настрой маски столкновений для ВСЕХ спрайтов: персонаж, деревья, монстры и т.д. Например, так:
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
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
Сейчас нет на сайте
| Не волнуйся... Через несколько месяцев так будешь шпарить, как Боженька
Чем лучше—тем хуже
|
|
| |
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, теперь при смерти игрока ошибок не выдает!!!! О ЧУДО Спасибо! Вопросов еще много У меня в степе героя последней строчкой идет 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) напиши так. это мой косяк а не твой. я ещё много чего не знаю
|
|
| |
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, угуууу, впринципе понял Такс) Я ушел, время уже позднее, пора отдыхать, надеюсь завтра поможешь мне еще с несколькими вопросами, еще раз спасибо, без тебя вряд ли с чем-либо разобрался бы....)
|
|
| |