Как сделать паузу

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / Как сделать паузу

Страницы: 1 2 Next>> новая тема

Автор Сообщение

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 30-12-2006 16:26
Здрасте. Собственно, никто не подскажет, как именно? И очень хочется повесить её на кнопку [pause], но я даже так паузу сделать не смог.

гроссмейстер
Группа: Сообщество GM
Сообщений: 254
Добавлено: 30-12-2006 17:19
pause - комната паузы. Объект паузы должен быть и в комнате паузы и в игре.
В объекте паузы:
В нажатие кнопки:

if(room != pause)
{
room_persistent = true;
global.PauzeReturnRoom = room;
room_goto(pause);
}
else
{
room_goto(global.PauzeReturnRoom);
room_persistent = false;
}

маэстро
Группа: Сообщество GM
Сообщений: 501
Добавлено: 30-12-2006 19:30
проще посмотреть скрипт паузы в стандартном примере для ГМ
(asteroids.gm6)

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 01-01-2007 23:45
Точно! Спасибо! Только вот посмотрел я, а как он работает, не понял. Вот код:

{
draw_set_font(score_font);
draw_set_color(c_red);
draw_set_halign(fa_center);
draw_text(room_width/2,100,'Game Paused. Press any key to continue.');
screen_refresh();
keyboard_wait();
io_clear();
}

Последние три строчки, по видимому, самые главные, только вот смутно я себе представляю, что они делают. И ещё: как сделать, чтобы не текст был, а объект? И зачем в действии Execute script в аргументе(что, это такое, кстати?) ставить "c_white"? А если кто мне скажет, как затенение экрана в паузе сделать, я вообще буду very happy! Зарание спасибо.

гроссмейстер
Группа: Сообщество GM
Сообщений: 181
Добавлено: 02-01-2007 00:30
Новогодняя посхалка/Самый быстрый и простой пример паузы в игре это :
message_background(b_1)
show_message_ext('Пауза.','Дальше!','','')
И красиво и влёво......
З.Ы. НЕ судите строго

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 02-01-2007 00:31
первая (screen_refresh();) собсно останавливает игру;
вторая (keyboard_wait();) ждет нажатия любой клавиши;
третья (io_clear();) продолжает игру.

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 02-01-2007 18:59
Спасибо. А если мне определённая кнопка нужна, то как писать? Там вроде же у каждой кнопки код свой есть? Или там название кнопки ставится?

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 02-01-2007 21:40
while(!keyboard_check(vk_escape))
{
}

это если надо escape. если буква то:

while(!keyboard_check(ord('заглавная буква клавиши'))
{
}

остальное в справке есть. начинается с "vk_" - vk_space, vk_control, vk_f1, vk_f2 и т.д.

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 07-01-2007 11:02
А не подскажете, как при количестве очков больше 100 сделать объект видимым? Или, лучше создать его в определённом месте.? Спасибо.

Дундук - не беспокоить!
Группа: Модераторы
Сообщений: 1435
Добавлено: 07-01-2007 12:02
if score >= 100 then
if instance_nubmer(obj) = 0 then instance_create(x, y, obj);

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 07-01-2007 20:56
как при количестве очков больше 100 сделать объект видимым?

if score>=100 then объект.visible:=true
else объект.visible:=false;
Или, лучше создать его в определённом месте.?

if score>=100 then instance_create(х-координата,у-координата,объект)

Дундук - не беспокоить!
Группа: Модераторы
Сообщений: 1435
Добавлено: 07-01-2007 21:19
Nka, так у тебя объекты будут куждый шаг создаваться ;)

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 08-01-2007 10:01
а Wadimmm разве сказал, что это надо в шаге?

Тут могла быть ваша реклама
Группа: Сообщество GM
Сообщений: 1014
Добавлено: 08-01-2007 23:03
Имеется виду что после того как очков станет 100, объекты будут создоваться каждый шаг. Не совсем твой код правильный

Гость
Добавлено: 11-01-2007 16:08
первая (screen_refresh();) собсно останавливает игру;
вторая (keyboard_wait();) ждет нажатия любой клавиши;
третья (io_clear();) продолжает игру.

Не совсем правильно. Игру останавливает функция keyboard_wait() а io_clear() обнуляет статус киборда и мышки, скажем функция keyboard_lastkey вернет ноль.
Мне кажется, что реализация паузы через keyboard_wait() не очень удачна.

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 11-01-2007 21:18
Вот здесь описано как еще можно сделать паузу.

P.S. Это была моя первая тема

Гость
Добавлено: 16-01-2007 15:48
Одназначного ответа как корректно сделать паузу и иметь при этом возможность навигации по меню, я пока не нашел. Особенно если широко используется системы частиц.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 16-01-2007 16:30
show_message_ext('Пауза.','Дальше!','','')

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 16-01-2007 16:38
show_message_ext('Пауза.','Дальше!','','')

+1

мастер
Группа: Сообщество GM
Сообщений: 121
Добавлено: 16-01-2007 16:40
Не легче все заморозить???

Страницы: 1 2 Next>> новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / Как сделать паузу

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU