Вопрос - Ответ (Game Maker)
| |
adast12 | Дата: Суббота, 14 Сентября 2013, 18:09 | Сообщение # 4401 |
почетный гость
Сейчас нет на сайте
| Как в create сделать переменную постоянной чтобы она при перезапуске игры оставалась такой же
|
|
| |
GameMix | Дата: Суббота, 14 Сентября 2013, 18:18 | Сообщение # 4402 |
старожил
Сейчас нет на сайте
| adast12, только работать с внешними данными - файлы, реестр.
И свой вопрос здесь оставлю: в Game Maker проблемы с рекурсией, или я что-то не так делаю? MoveExists(): Код if (yy > 1) if ((pole[xx, yy - 1] == PL1 || pole[xx, yy - 1] == PL2) && pole[xx, yy - 2] == 0) { pole[xx, yy - 2] = MOVE; lev_rec = 1; MoveExists(xx, yy - 2); } if (yy < 5) if ((pole[xx, yy + 1] == PL1 || pole[xx, yy + 1] == PL2) && pole[xx, yy + 2] == 0) { pole[xx, yy + 2] = MOVE; lev_rec = 1; MoveExists(xx, yy + 2); } При выполнении первого условия и рекурсивного запуска функции, следующая проверка (yy < 5), по ходу, не выполняется
Решил проблему объявлением локальных переменных для функции. Вопрос больше не актуален
Steel Standoff - 2D аркада. Мои статьи
Сообщение отредактировал GameMix - Воскресенье, 22 Сентября 2013, 22:48 |
|
| |
adast12 | Дата: Суббота, 14 Сентября 2013, 20:26 | Сообщение # 4403 |
почетный гость
Сейчас нет на сайте
| Как сделать так чтобы перед выходом в меню нужно сохранить скриншот игры в глобальную переменную, после этого - перейти в комнату меню. В комнате меню устанавливаем как фон скриншот игры. При клике на "Продолжить" - просто возвращаемся в комнату с игрой и удаляем скриншот игры. Вот код но я его не до конца понял, объясните пожалуйста, а лучше сделайте пример.
// Выход в меню: global.game_screen = sprite_create_from_screen(0, 0, view_wview, view_hview, 0, 0, 0, 0); // Создаём скриншот экрана instance_deactivate_all(true); // Деактивируем все объекты, кроме текущего instance_activate_object(o_menu_controll); // Активируем контроллеры, нужные для работы меню o_menu_controll.draw_game_screen = 1; // Указываем, чтобы объект o_controll рисовал скриншот игры на фоне instance_create(view_xview, view_yview, o_button); // Создаём кнопки
// Возвращение в игру: sprite_delete(global.game_screen); // Удаляем скриншот игры instance_activate_all(); // Активируем все объекты o_menu_controll.draw_game_screen = 0; // Указываем, чтобы объект o_controll более не рисовал скриншот игры на фоне with o_button instance_destroy(); // Удаляем все кнопки
// Draw event объекта o_menu_controll: if draw_game_screen { draw_sprite(global.game_screen, 0, view_xview, view_yview); }
Сообщение отредактировал adast12 - Воскресенье, 15 Сентября 2013, 07:58 |
|
| |
GameMix | Дата: Воскресенье, 15 Сентября 2013, 07:23 | Сообщение # 4404 |
старожил
Сейчас нет на сайте
| adast12, что именно ты тут не понял?! Есть предположение, что тебе не нравится создание кнопок меню в одной точке:Код instance_create(view_xview, view_yview, o_button); // Создаём кнопки
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
adast12 | Дата: Воскресенье, 15 Сентября 2013, 07:57 | Сообщение # 4405 |
почетный гость
Сейчас нет на сайте
| Я не понял где переменные, и какой фон используется напишите пожалуйста переменные и фон через запятую Вот код.
// Выход в меню: global.game_screen = sprite_create_from_screen(0, 0, view_wview, view_hview, 0, 0, 0, 0); // Создаём скриншот экрана instance_deactivate_all(true); // Деактивируем все объекты, кроме текущего instance_activate_object(o_menu_controll); // Активируем контроллеры, нужные для работы меню o_menu_controll.draw_game_screen = 1; // Указываем, чтобы объект o_controll рисовал скриншот игры на фоне instance_create(view_xview, view_yview, o_button); // Создаём кнопки
// Возвращение в игру: sprite_delete(global.game_screen); // Удаляем скриншот игры instance_activate_all(); // Активируем все объекты o_menu_controll.draw_game_screen = 0; // Указываем, чтобы объект o_controll более не рисовал скриншот игры на фоне with o_button instance_destroy(); // Удаляем все кнопки
// Draw event объекта o_menu_controll: if draw_game_screen { draw_sprite(global.game_screen, 0, view_xview, view_yview); }
Сообщение отредактировал adast12 - Воскресенье, 15 Сентября 2013, 07:59 |
|
| |
GameMix | Дата: Воскресенье, 15 Сентября 2013, 08:13 | Сообщение # 4406 |
старожил
Сейчас нет на сайте
| Переменные: global.game_screen, draw_game_screen (в объекте o_menu_controll) Фон: спрайт global.game_screen, отображающийся функцией draw_sprite() на всю область вида. Почитай это и это.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
adast12 | Дата: Воскресенье, 15 Сентября 2013, 11:11 | Сообщение # 4407 |
почетный гость
Сейчас нет на сайте
| Спасибо Добавлено (15.09.2013, 11:11) --------------------------------------------- Как защитить переменную в игре от артмани? А если кто то захочет взломать игру его игра отправит его в другую комнату и через 5 секунд завершится
|
|
| | |
adast12 | Дата: Воскресенье, 15 Сентября 2013, 13:41 | Сообщение # 4409 |
почетный гость
Сейчас нет на сайте
| Как сделать так чтобы игра делала снимок экрана и делает его задним фоном в "комнате" меню. Таким образом получается, что меню всплывает как бы "на фоне" происходящего в игре.
|
|
| |
Krosos | Дата: Воскресенье, 15 Сентября 2013, 13:59 | Сообщение # 4410 |
постоянный участник
Сейчас нет на сайте
| Цитата (GameMix) При выполнении первого условия и рекурсивного запуска функции, следующая проверка (yy < 5), по ходу, не выполняется А разве не должно быть так?: if (yy < 5) { if ((pole[xx, yy + 1] == PL1 || pole[xx, yy + 1] == PL2) && pole[xx, yy + 2] == 0) { pole[xx, yy + 2] = MOVE; lev_rec = 1; MoveExists(xx, yy + 2); } }
Мой проект
Сообщение отредактировал Krosos - Воскресенье, 15 Сентября 2013, 14:01 |
|
| |
MadMax | Дата: Воскресенье, 15 Сентября 2013, 14:06 | Сообщение # 4411 |
\o
Сейчас нет на сайте
| Цитата (adast12) Как сделать так чтобы игра делала снимок экрана и делает его задним фоном в "комнате" меню. Таким образом получается, что меню всплывает как бы "на фоне" происходящего в игре. background_create_from_screen()
[Gamiron #10] Prison Break [2D] Revenge [iOS, Android]
Сообщение отредактировал MadMax - Воскресенье, 15 Сентября 2013, 14:07 |
|
| |
GameMix | Дата: Воскресенье, 15 Сентября 2013, 14:32 | Сообщение # 4412 |
старожил
Сейчас нет на сайте
| Krosos, не вижу смысла в скобках, если там нет else. Объясни, если я не прав.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
Krosos | Дата: Воскресенье, 15 Сентября 2013, 14:39 | Сообщение # 4413 |
постоянный участник
Сейчас нет на сайте
| GameMix, ну не знаю , я всегда ставлю их. Я просто предполагаю :возможно ,у тебя, расставились скобки вот так: if (yy > 1){ if ((pole[xx, yy - 1] == PL1 || pole[xx, yy - 1] == PL2) && pole[xx, yy - 2] == 0) { pole[xx, yy - 2] = MOVE; lev_rec = 1; MoveExists(xx, yy - 2); } if (yy < 5) if ((pole[xx, yy + 1] == PL1 || pole[xx, yy + 1] == PL2) && pole[xx, yy + 2] == 0) { pole[xx, yy + 2] = MOVE; lev_rec = 1; MoveExists(xx, yy + 2); } }
Мой проект
Сообщение отредактировал Krosos - Воскресенье, 15 Сентября 2013, 14:43 |
|
| | |
GameMix | Дата: Воскресенье, 15 Сентября 2013, 15:20 | Сообщение # 4415 |
старожил
Сейчас нет на сайте
| Krosos, неверное предположение. Цитата (MadMax) GameMix, как это не видишь смысла) Ну не задавай таких вопросов. Я думал ты знаешь случаи, в которых не обязательно ставить {}. Вопрос актуален
Steel Standoff - 2D аркада. Мои статьи
|
|
| | |
adast12 | Дата: Воскресенье, 15 Сентября 2013, 17:26 | Сообщение # 4417 |
почетный гость
Сейчас нет на сайте
| Как сделать так чтобы переменная сохранялась в файлах игры чтобы игру можно было перезапустить и ничего не терялось
|
|
| |
GameMix | Дата: Воскресенье, 15 Сентября 2013, 17:44 | Сообщение # 4418 |
старожил
Сейчас нет на сайте
| MadMax, ну так поведай мне его, Сэнсей. Буду премного благодарен
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
Krosos | Дата: Понедельник, 16 Сентября 2013, 11:27 | Сообщение # 4419 |
постоянный участник
Сейчас нет на сайте
| Есть: Метка АА - любой квадрат target - красный квадрат Недоступная метка - темно-зеленый квадрат KleymoOfEnemy - синий квадрат global.Sunit - тот же KleymoOfEnemy и игрок , обведенный зеленым кругом. with AA{if collision_line(x,y,target.x,target.y,KleymoOfEnemy,1,0) {instance_destroy()}} - код для удаления меток , между которыми есть союзники врага.
Вопрос: как удалить метку под игроком , если на ее пути есть союзник , но так , чтобы игрок в учет не шел?
Картинка: Надеюсь вы разберетесь в моих каракулях....
Мой проект
|
|
| |
adast12 | Дата: Четверг, 19 Сентября 2013, 19:25 | Сообщение # 4420 |
почетный гость
Сейчас нет на сайте
| Люди как сделать так чтобы переменная сохранялась в файлах игры у меня проста игра под android и сейчас я захотел сделать магазин
|
|
| |
|