Перейти к содержимому
Джанкер

Помогите с Гейм Мейкером

Рекомендуемые сообщения

Ок, у меня осталось 2 проблемы которыя не могу пока решить, если мне ктонь поможет буду до конца жизни благодарен

1.Пауза:

Я прописал во всем step'e и draw'e и др(звуки там, выстрелы и тд)

if (Pause_Event.pause=0)
{
...	   //Движение, рисование, выстрелы там и тд 
}

if (Pause_Event.pause=1)
{
hsp=0  //step
vsp=0  //step
animation_speed=0  //draw
}

Так, далее Pause_Event, событие Keyboard pressed -> Enter:
If (pause=0)
{
pause=1
}

If (pause=1)
{
pause=0
}

Вот, пауза начинается: он исчезает (видемо из-за animation_speed=0, я не против); ничего не делает, звуки не включяет, не стреляет, НО при нажатии Enter опять, чтобы выйти, он все еще находится в том же состоянии, почему?

 

2.Смерть:

До этого смерть у меня была простая:

Step y "mask":

if (Energy<=0)
{
instance_change(mask_dead,true)
}

//Create y "mask_dead":

alarm[0]=40

//Alarm[0] y "mask_dead":

object_create(mask, 112, 416)
destoy(self)

Вот, может кто посаветует как "смерть" всунуть в Деадозена?)))

 

ЗЫ И надеюсь на следующей неделе у меня есть рабочяя демка)))

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

1) Это не совсем правильная пауза. У тебя при такой паузе персонаж остановится, даже если будет бежать на запредельной скорости, и если паузу отменить, будет стоять на месте. Что до кода - ты не возвращаешь обратно переменную animation_speed

2) Не понял, для чего, объект дохлого Соника создает объект живого...

Поделиться сообщением


Ссылка на сообщение
1) Это не совсем правильная пауза. У тебя при такой паузе персонаж остановится, даже если будет бежать на запредельной скорости, и если паузу отменить, будет стоять на месте. Что до кода - ты не возвращаешь обратно переменную animation_speed

2) Не понял, для чего, объект дохлого Соника создает объект живого...

1)Хммм.... Понятно, а как это исправить?) "animation_speed" - А зачем ее возвращять, в коде скaзано

if (Pause_Event.pause=0) -> animation_speed=X

if (Pause_Event.pause=1) -> animation_speed=0

Мне кажется что это значит что она восстановится как только pause будет 0

2)А это чтоб игра работала на этапе тестирования))) Я вобще уже забыл зачем я "это" выложил, мне просто нужен способ смерти, или хотябы принцып его работы... вот.

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

1) Можно предварительно записать переменные скорости в другие переменные, а потом считать. А исчезает потому что у тебя рисуется все только при pause=0. Нужно просто сделать, чтобы рисовалось все в любом случае, а animation_speed=0 ставить только при pause=1

2) Да просто в том же mask_dead при истечении таймера ставить рестарт комнаты.

Поделиться сообщением


Ссылка на сообщение

Почему для паузы просто не использовать деативацию объектов?При деактивации конечно сам объект исчезает, но его не сложно заменить на его копию.

Изменено пользователем Jackrost

Поделиться сообщением


Ссылка на сообщение

Ну я это и использовал у себя, а тут просто отвечал по существу вопроса.

Поделиться сообщением


Ссылка на сообщение

Я тешу себя мыслями что "еще чють-чють", и очень надеюсь что я своим, кхем, умением тут всем не надоел

1) Можно предварительно записать переменные скорости в другие переменные, а потом считать. А исчезает потому что у тебя рисуется все только при pause=0. Нужно просто сделать, чтобы рисовалось все в любом случае, а animation_speed=0 ставить только при pause=1

2) Да просто в том же mask_dead при истечении таймера ставить рестарт комнаты.

1)Я еще потереблю, но как их сохранить, а потом загрузить? ^_^

2)Ага, тоже прикольный способ, но при нем жизни не отнимаютсо

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

1) Задай две переменные, к примеру, HSP2 и VSP2, присвой им значения hsp и vsp соответственно:

HSP2=hsp;

VSP2=vsp;

Считывать аналогично.

 

2) А что мешает перед рестартом отнять одну жизнь, а самим жизням задавать начальное значение не в начале комнаты, а при старте игры?

Поделиться сообщением


Ссылка на сообщение
1) Задай две переменные, к примеру, HSP2 и VSP2, присвой им значения hsp и vsp соответственно:

HSP2=hsp;

VSP2=vsp;

Считывать аналогично.

 

2) А что мешает перед рестартом отнять одну жизнь, а самим жизням задавать начальное значение не в начале комнаты, а при старте игры?

Так, что-то у меня мозги сегодня не варят)))

Остановимся пока не смерти... Да, ну я сказал...

Ладно, я надеюсь я правильно понял что ти имееш ввиду, и сделал так:

1.Создал обьект в самой первой комнате "Menu" под названием "Lives_Sonic_1", задал ему переменуую lives=3

2.Перевел все ссылки на "lives" в обьекте "mask" на "Lives_Sonic_1.lives"

3.В обьете "mask_dead" на таймер поставил "room_restart()" в () ничего не поставил

Каие у меня повились проблемы: (они хороше видны на скринах до(слево) и после(справо) удара об "камень")

1.Так как обьект Lives_Sonic_1 в другой комнате, то жизни вобще не отображаются (да, я поменял ВСЕ ссылки)

2. Нет перезарузки комнаты + вот такая растяжка экрана

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

Ты не понял. Жизни нужно ставить в том объекте, что будет отображать их. И нужно ставить их в событии Game start

Изменено пользователем Джанкер

Поделиться сообщением


Ссылка на сообщение

Уууууу... Блин, опять все делать заново

Ээээ, а у меня такого нету, что он должен делать и в какой комнате стоять?)

 

Помазговал...

Видемо этот Game start содержит в себе все величины персонажа (кольца, жизни и тд), возможно их рисует... но в какой комнате его ставить? Если его поставить в уровне он будет "перегружатся" вместе с ним, а если все уровня то не будет ничего показывать... Ээээ.. На это раз я в том направлении думаю?

А я глупый все в героя накидал)

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

Можно и в героя. Просто в любом случае должно быть в Game start, тогда он назначит переменные только в одном случае - когда игра только запускается. А вот кольца и те переменные, которые должны при рестарте обнуляться, нужно вешать в Room start

Поделиться сообщением


Ссылка на сообщение

Блииин...

В какую комнату нуна "ложить" game start? И как сделать так чтобы она работала на все остальное?

Поделиться сообщением


Ссылка на сообщение

Прости пожалуйсто, но я ставил его в первую комнату:

1.Создал обьект в самой первой комнате "Menu" под названием "Lives_Sonic_1", задал ему переменуую lives=3

И результат:

1.Так как обьект Lives_Sonic_1 в другой комнате, то жизни вобще не отображаются (да, я поменял ВСЕ ссылки)

Можно мне обьяснить, глупому, какие основные функции выполняет Game Start и как сделать чтоб ее было "видно и слышно сквозь комнаты"? пожааалусто)

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

Эээээ... вообще-то lives - стандартная глобальная переменная, и ее не надо присваивать какому-то объекту, а просто вызвать в коде как lives

Поделиться сообщением


Ссылка на сообщение

Вот ты сказал

"Хочеш сделать игру - Возьми чюжой движок и преобразуй"

КАК ???? :nyam:

Поделиться сообщением


Ссылка на сообщение
Эээээ... вообще-то lives - стандартная глобальная переменная, и ее не надо присваивать какому-то объекту, а просто вызвать в коде как lives

Ок, убрал все присваивания, рисует, но так как она задана только для Game Start, то рисует будто lives=0

 

Вот ты сказал

"Хочеш сделать игру - Возьми чюжой движок и преобразуй"

КАК ???? :nyam:

Береш движек, открываеш, вставляеш свои спрайты, добовляеш свои возможности, достаеш все глупыми вопросами типо: "А как? А што?" и тд)

ЗЫ "А как? А што?" идет Только последним, так как если ти нечего не сделал тебя просто в лучшем случяе будут игнарировать)))

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

Ну изначально в Game Start ставишь lives=3, к примеру, у меня работает. Может, ты еще где-то накосячил?

Поделиться сообщением


Ссылка на сообщение

ДА! Жизни есть! Но теперь экран "растягивает"(я скрин выкладывал на предыдущей странице) при room_restart() это от чего может быть?

Step:

 

 

if (Energy<=0)

{

lives -= 1;

room_restart()

}

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

А вот это - черт его знает. У меня такого ни разу не было. Если хочешь - кинь мне исходник с этой ошибкой в приватку, я посмотрю завтра.

Поделиться сообщением


Ссылка на сообщение

Там один ЕХЕшник 7-8 метров весит))) Но если тебе не лень я в файлообменник кину)

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

Правдо ли что чтобы сделать переменную глобальной перед надо поставить "!"?

Поделиться сообщением


Ссылка на сообщение
Правдо ли что чтобы сделать переменную глобальной перед надо поставить "!"?

Чтобы объявить глоб. переменную, надо писать global.имя_переменной. Но для встроенных глобальных переменных, таких как lives, не надо. (В принципе можно задавать глобальную переменную без global, если кусок кода не принадлежит ни к какому объекту (например, код при создании комнаты), но обращаться к такой переменной проблематично). а "!" - это логическое отрицание.

Поделиться сообщением


Ссылка на сообщение

Люди, нужно:

1.Хороший пример с использованием Бэка "из вне", но который следует за камирой

2.Код на использование музыки "из вне"

3.(Если можно) тайлы, тоже "из вне"

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

Все подобные команды содержат в себе строку replace. Почитай офф мануал на эту тему.

Поделиться сообщением


Ссылка на сообщение
Все подобные команды содержат в себе строку replace. Почитай офф мануал на эту тему.

А вобще, как лучше "закрывать" бэкграун с тайлами или обьектами?

Поделиться сообщением


Ссылка на сообщение

Тайлами. Они жрут меньше памяти и не настолько тормозят игру. Просто делай базовые объекты, потом делай их невидимыми и ставь тайлы. Опять же, с проработкой будет легче - просто сменить набор тайлов, а не делать новые объекты.

Поделиться сообщением


Ссылка на сообщение
Тайлами. Они жрут меньше памяти и не настолько тормозят игру. Просто делай базовые объекты, потом делай их невидимыми и ставь тайлы. Опять же, с проработкой будет легче - просто сменить набор тайлов, а не делать новые объекты.

надумали систему: Тайлы, ничего по проще придумать не могли)))

Хууууууу... Учится, учится и еще раз учится...

АААА, догнал, этим я и занимаюсь (из-за ЭТОГО полетел мой первый проект), тока надо научится их "достовать из вне"...

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×