Воскресенье, 29 Декабря 2024, 12:50

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (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), по ходу, не выполняется wacko

Решил проблему объявлением локальных переменных для функции. Вопрос больше не актуален smile


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 секунд завершится

FargostДата: Воскресенье, 15 Сентября 2013, 11:58 | Сообщение # 4408
постоянный участник
Сейчас нет на сайте
Да кому нужна будет твоя говно-игра?

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
MadMaxДата: Воскресенье, 15 Сентября 2013, 14:59 | Сообщение # 4414
\o
Сейчас нет на сайте
GameMix, как это не видишь смысла)

[Gamiron #10] Prison Break
[2D] Revenge [iOS, Android]


GameMixДата: Воскресенье, 15 Сентября 2013, 15:20 | Сообщение # 4415
старожил
Сейчас нет на сайте
Krosos, неверное предположение.
Цитата (MadMax)
GameMix, как это не видишь смысла)

Ну не задавай таких вопросов. Я думал ты знаешь случаи, в которых не обязательно ставить {}.
Вопрос актуален megaphone


Steel Standoff - 2D аркада.
Мои статьи
MadMaxДата: Воскресенье, 15 Сентября 2013, 16:01 | Сообщение # 4416
\o
Сейчас нет на сайте
GameMix, я знаю, но смысл то есть.

[Gamiron #10] Prison Break
[2D] Revenge [iOS, Android]


adast12Дата: Воскресенье, 15 Сентября 2013, 17:26 | Сообщение # 4417
почетный гость
Сейчас нет на сайте
Как сделать так чтобы переменная сохранялась в файлах игры чтобы игру можно было перезапустить и ничего не терялось
GameMixДата: Воскресенье, 15 Сентября 2013, 17:44 | Сообщение # 4418
старожил
Сейчас нет на сайте
MadMax, ну так поведай мне его, Сэнсей. Буду премного благодарен smile

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 и сейчас я захотел сделать магазин
Поиск:

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