![]() |
Вот код меню:
Код:
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ГБ
|
к сожалению мы не сможем протестить код без остальных файлов (без моделей и картинок)... сделай, плиз, аттач со всеми ресурсами... :)
|
А можете вставить свои - мои на данном этапе много весят, и поэтому передать их проблематично!Вставьте любые другие модели, я думаю у Вас много различных заготовок
|
Вложений: 2
чесно сказать... очень сложно разобраться в коде, я не знаю какого размера объекты и где они должны стоять... короче для меня было проще написать свою маленькую реализацию подгрузки файлов игр, смотри аттач.
код главного меню: Код:
; делаем файл первой игры как функциюнадеюсь, что тебе это поможет в твоей проблеме :) :) |
Большое спасибо, я вроде разобрался :)
|
Код:
game1():return 1:exit |
Это опять я :@
Собрался наконец, сделать альфа-версию так сказать, а для этого мне надо все скомпоновать в один файл, теоретически я все понял, что нужно сделать(Ваши объяснения на 2х страницах не прошли даром :glag: ;) ), а вот на практике опять проблемы, я прописываю, чтобы подгружалась игра,вроде все нормально, но как только запускаю - выводит ошибку, что мол в файле который я подгружаю находяться глобальные переменные и функции, так вот вопрос, как их объявить в "главном файле" и где именно? И еще один вопрос, мне надо, чтобы воспроизводился файл:intro.mpg как правильно об этом сказать Блитцу? :)) |
на счет видео (цитата из старого форума):
Цитата:
что насчет меню, то попробуй выложить свои наработки, мы к сожалению не можем представить что там и как не видя кода... :) |
ТО Dizels
посмотрел скиношты на вашем сайте форсинг, понравилось, давай скорее альфу выкладывай!!! :)) |
To SubZer0: написал письмо на e-mail, надеюсь ответишь.
To axel186: спасибо за проявленный интерес!Скоро должен буду выложить! |
Цитата:
тут надо наверное весь код переписывать... тут нужно соблюдать несколько правил: 1. Внутри функции нельзя определить функцию, пусть тебе любители функций и ненавистники ГОТО, говорят что что угодно, но здесь это не ООП. Здесь все функции должны лежать в главном файле. 2. Внутри функции нельзя определить глобальную переменную, все глобальные переменные должны быть объявлены в главном файле. 3. Команда Graphics3D очищает мир полностью, удаляет все загруженные объекты и картинки (текстуры)... :) |
ОК, с меню я вроде разобрался, спасибо, а вот с проигрыванием заставки - проблемы - пишет Function not found в строке:
movie=OpenMovie("1.mpeg") Что делать? |
Цитата:
|
или блиц иногда так лагает - перезапусти камп
или лагает visual ide - переделай файл комманд :) или protean тоже так лагет |
IDE V1.66 - Linker V1.64 - Runtime V1.66
C нее можно запустить?У меня другой нет!но вроде и эта не плохо работает и меня пока устраивает, есть еще обновлениее до 1,88 но оно после переустановки системы не хочет запускаться, ошибку выбает :( |
Цитата:
вот это антиквариат. Обновляй. Что интересно - хелп новый, а компилер старый, обычно, встречал наоборот. |
Тут новая версия:
http://community.boolean.name/index.php?showtopic=149 |
Спасибо, обязательно скачаю, но тока позже - много весит(а нет версии без примеров и хелпа, я так понимаю она тогда гораздо меньше весить будет)?
|
а ты просто скачай обновление до 1.90 или ОБНОВЛЕНИЕ до 1.87
если надо могу выложить обновление до 1.87 :) ps. оно занимает около 2 мб |
А можно сразу с моей версии обновить до 1.90?Или надо сначало 1.87 установить?
|
поидее можно
|
| Часовой пояс GMT +4, время: 16:38. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Перевод: zCarot