![]() |
понял! Буду пробовать!) если что - напишу сюда)
|
Код:
Function fnMenuGame() Код:
If KeyHit(1) fnMenuGame() ТО ии, почему-то продолжает деятельность, да и бомба взорвется, хотя визуально все "останавливается, конечно |
Вероятно все события у тебя происходят по времени - следовательно всё "просиженное" в меню время будет учтено и обработано сразу же после возврата в игру.
|
да! Мне SBJoker предложил сделать так:
В цикле: Код:
If KeyHit(1) Then |
при нажатии ескейп - ВЫХОДИ из цикла игры совсем !
а не пытайся внутри цикла меню запускать (это сделать можно - но тебе проще выйти) |
А как совмем выйти? Я же хочу потом еще продолжить игру...
|
А как выйти совсем? Я же хочу еще и продолжить игру!
Это будет реально? |
Елки палки.
ну элементарно же, переменную заведи и отслеживай состояние: зашел в меню из игры - одно значение. зашел не из игры - другое. Другую переменную выхода из меню: возврат или начало новой игры. Если ты такой фигни придумать сам не можешь - что дальше будет ? :dontknow: |
2tormoz:
причём тут это? Его решение - запоминать состояние времени для необходимых объектов и восстанавливать его при выходе из меню. |
Кстати насчет переменных это идея...может они понадобятся?
А то у меня ошибка: Код:
Function fnMenuGame() DrawImage ButtonReturn_to_game ,300,100 Не сущесвует этого имеджа! Хотя как видно из кода, я каждый раз при входе в функию, гружу этот имеждж...странно, да? никто не знает, почему такой косяк? и как его исправить? |
Графику инициализируй один раз !
До входа в меню: .точка входа при смене разрешения инит графика . точка входа после основного цикла лоад ресурсы меню меню освобождаем ресурсы меню проверяем выход из меню:(переменную) если игра - грузим ресурсы игры если возврат в игру - не грузим если выход из игры то ЕНД если меняли разрешение в меню то ставим флаг(переменную) и гоу на начало основной цикл игра выход из цикла возврат в точку меню ========= Для нормального завершения при повторной инициализации графики создай функцию очистки типов и переменных (которые нужно очистить) Delete Each MyType - очищает весь тип MyType |
2Tormoz!
наверное ты не совсем разобрался с принципом работы: 1. Инициализирует графику 640 на 480 (работает главное меню) 2. Выбираем одни из 3х режимов, пишем их в файл. * Если нажали начать новую игру: 1. Удалить все 2D картинки (проваерял лично! Утечек нет!) 2) ClearWorld 3)Инициализирует графику 4)Вызвать функцию, где все объекты игры грузятся (там у меня 3 функции) 5) если нажали esc - начать игровое меню (ну это вы знаете из приведенного здесь кода) * если вышли совсем, то (2 раза esc) ClearWorld() Graphics 640,480,16,2 SetBuffer BackBuffer() loadimages() - те, которые касаются главного меню fnmainmenu() - само меню Но почему-то после такого "полного" выхода, при входе в игру сразу же сробатывает fnMenuGame(), и ругается, что не может нарисовать этот долбанный имедж!!! Хотя по идеи он должен срабатывать по нажатии, esc, разумеется! |
Делай как я написал - схема отлажена временем.
|
Но я не совсем понял как по вашей схеме делать!?
Как я могу 1 раз инициализировать графику, если в меню она 640 на 480, а в игре - опционально! ? |
Думаю для самой игры надо сделать новое упрощенное меню дабы не менять разрешение экрана во время игры.
|
Часовой пояс GMT +4, время: 10:11. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot