Вот код меню:
Код:
Function knopka(x1,x2,y1,y2,vImage);nujno v opredelenii funktsii sozdat' peremennuyu dlya kartinki Так вот, нужно, чтобы при нажатии кнопки загрузался блицовский файл с самой игрой |
а зачем тебе такое??? это ведь будет возможно только на этапе тестирования игры, скомпилировать ты такой процесс не сможешь, другое дело если бы все бб-модули были скомпилированы в один файл (типа Include или вручную все в один файл запихать) и при нажатии на элемент меню передавалось бы управление соответствующей гаме (вызывалась функция определенной гамы)... :)
|
Код:
Function knopka(x1,x2,y1,y2,vImage);nujno v opredelenii funktsii sozdat' peremennuyu dlya kartinki ps. :)) |
Цитата:
и по поводу твоего примера. а зачем по твоему функция knopka возвращает true в случае нажатия?? тогда стоило сделать вызов процедуры и проверять если она вернула true то грузить... :) |
Цитата:
Теперь отвечу на вопрос SubZer0: грузить надо файл *.bb а потом я уже сделаю отдельный файл для компиляции(по этому вопросу я вас потом еще помучаю) ;) |
Цитата:
а теперь ответ: такой процесс практически невозможен, такой команды нет... можно только если написать свой компилятор... поподробнее: при запуске кода блиц сначала запихает все файлы которые мы пишем Include "" в один, затем проверяет полученный файл на ошибки, если таковые есть, то процесс прерывается, если нет идет компиляция (преобразование нашей программы в машинный код), теперь уже запуск... теперь смотри: когда ты находишься в игре и нажимаешь кнопку (игра в которой ты находишься уже проверена на ошибки и преобразована в машинный код), теперь нам нужно прицепить ББ-файл, но кто-ж его будет проверять на ошибки и компилировать? такой команды нет, если только написать свой мини движок который будет проверять ошибки и компилировать... можно подгружать уже готовые EXE, которые уже проверены и откомпилены, НО это будет супер-нерациональный метод, потому, что компилятор Блиц кладет в каждый екзешник основные функции обращения к DirectX и если мы будем подгружать готовый екзешник, то получится что у нас в первом екзешнике эти функции есть и в том который подгружаем тоже есть, а они нам нужны два раза??.. получается нерациональное использование оперативной памяти... еще раз извиняюсь, обычно мы не отвечаем отрицательно на поставленные вопросы, но в этом случае я не вижу другого решения :sorry: :sorry: |
я чет торможу ?!
ето зачем тебе подгружать bb файлы ? ты хоть представляеш что будет за фича ?! file aa.bb : " function error() runtimeerror ":/" end function " main file : " if ..=.. then include "aa.bb" end if " и смотрим как ето превратится после прекомпиляции : " if ..=.. then function error() runtimeerror ":/" end function end if " так как в нашем случае include окажется внутри функции то получится что функция окажется внутри другой функции и произойдет error :o просто грузи все bb файлы вначале основного и будет все :ok: ps. :)) |
Тоесть мне надо все сейчас соединить в один файл? Или как? Подскажите, мне все равно что-куда пихать, лишь бы работало!Поэтому помогите пожалуйста, я так понимаю, мне сейчас надо будет в файл с меню перенести всю игру, так вот вопрос то все равно остаеться: как подгрузить(что конкретно написать)
Простите если непонятно объясняю или надоел. |
Выложи конкретно свои файлы в одном аттаче, пл3 - гляну
|
мдя...
у тебя в файле menu.bb есть вот такой код : Код:
function menu() |
2 Dizels
выложи, плиз, свои наработки, тогда мы точно скажем как и что делать. :) |
(Только теория)
Чтобы проще было работать с меню и прочим, делаешь глобальную переменную состояния игры, типа flagGameStatus. Уже есть? - Отлично. Вводишь для себя условности относительно этой переменной, например: если flagGameStatus равен 0 - выход из проги, 1 - главное меню, 2 - игра, 3 - игровое меню, вобщем ясно уже... Когда твоя функция knopka вернула ИСТИНУ, ты меняешь значение этой переменной. По значению переменной определяешь что нужно делать (выйти, рисовать меню, крутить игровой цикл и прочее) Пример: Запустил свою игру - flagGameStatus = 1 - меню рисуешь Нажал кнопку Новая игра { flagGameStatus = 2 также грузишь первый (или другой) уровень игры, т.е. все что к нему относится } В главном цикле проверяешь значение flagGameStatus через IF или SELECT/CASE и делаешь соответствующие полученному значению действия... |
Вложений: 2
Вот мои наработки так сказать.
|
И по ходу дела сразу же еще один вопрос, что нужно поменять в моем коде, чтобы игра быстрее грузилась?А то по моему мнению - она долго грузиться - секунд 10, при том, что у меня оперативы - 1ГБ
|
к сожалению мы не сможем протестить код без остальных файлов (без моделей и картинок)... сделай, плиз, аттач со всеми ресурсами... :)
|
Часовой пояс GMT +4, время: 12:11. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot