Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 15.02.2010, 13:15   #1
Blender
Нуждающийся
 
Аватар для Blender
 
Регистрация: 16.01.2010
Сообщений: 68
Написано 4 полезных сообщений
(для 5 пользователей)
Плохо Общие вопросы:Завершающий этап

Вот подходя к концу написания игры появился Вопрос:
все видно на картинке..
И еще как между переходом удалить уровень 1 и загрузить уровень 2....

Я вообще не знаю с чего начинать.... игра есть, 4 уровня есть переключаю вот как:
;===============LOAD FirstLife=======
Include "firslife.bb"
;===============LOAD LEVEL1========
;Include "basicklevel1.bb"
;===============LOAD LEVEL2========
;Include "basicklevel2.bb"
;===============LOAD LEVEL3========
;Include "basicklevel3.bb"
В коде есть и финиш и когда надо пишет "уровень пройдено"...
Но как его и чего... не представляю...
И как паузу делать по нажатию ескейп???
Может кто знает пример...
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 747
Размер:	21.9 Кб
ID:	9078  
__________________

-Я умею общаться с трудными детьми. Моя мама в подвале держала подпольный детский сад! (С) "Теория большого взрыва"
(Offline)
 
Ответить с цитированием
Старый 15.02.2010, 14:15   #2
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Общие вопросы:Завершающий этап

;===============LOAD FirstLife=======
Include "firslife.bb"
;===============LOAD LEVEL1========
;Include "basicklevel1.bb"
;===============LOAD LEVEL2========
;Include "basicklevel2.bb"
;===============LOAD LEVEL3========
;Include "basicklevel3.bb"
Говнокод детектед.
Должна быть все 1 функция загрузки уровня, для всех уровней.
__________________

EvilChaotic About
(Offline)
 
Ответить с цитированием
Старый 15.02.2010, 14:28   #3
Blender
Нуждающийся
 
Аватар для Blender
 
Регистрация: 16.01.2010
Сообщений: 68
Написано 4 полезных сообщений
(для 5 пользователей)
Ответ: Общие вопросы:Завершающий этап

пример можно..??
__________________

-Я умею общаться с трудными детьми. Моя мама в подвале держала подпольный детский сад! (С) "Теория большого взрыва"
(Offline)
 
Ответить с цитированием
Старый 15.02.2010, 14:51   #4
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Общие вопросы:Завершающий этап

Хочу пояснить что команда Include во всех языках работает на стадии компиляции проекта, тупо вклеивая содержимое файла в текущую позицию. В рантайме эта команда не работает т.к. её вообще не будет. И строить логику программы на манипулировании инклудами порочный круг.

Include = Copy&Paste код в текущую позицию.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Blender (15.02.2010)
Старый 15.02.2010, 15:03   #5
Blender
Нуждающийся
 
Аватар для Blender
 
Регистрация: 16.01.2010
Сообщений: 68
Написано 4 полезных сообщений
(для 5 пользователей)
Ответ: Общие вопросы:Завершающий этап

окей
Так правельно: ?

If level=1 Then
;===============LOAD FirstLife=======********&&&^^%%$$$
CreatePlayer(-310,150,255)
finishX=-310
finishZ=255
CreateWorld("media/levels/first_life.b3d","media/levels/tex/brick8.jpg")
t.tmr=CreateTmr(0,0,45)
Dim cube.bonus(4)
CreateBonus(-130,200,65,0)
CreateBonus(90,200,250,1)
CreateBonus(-120,200,220,2)
CreateBonus(60,200,-30,3)
CreateBonus(-290,200,-130,4)
MegaJump=0
EndIf 

If level=2 Then
;===============LOAD LEVEL1==========********&&&^^%%$$$
CreatePlayer(280,250,240)
finishX=280
finishZ=240
CreateWorld("media/levels/basic_level2.b3d","media/levels/tex/brick9.jpg")
t.tmr=CreateTmr(0,0,45)
Dim cube.bonus(4)
CreateBonus(285,200,-220,0)
CreateBonus(120,200,10,1)
CreateBonus(-120,200,220,2)
CreateBonus(-190,200,-220,3)
CreateBonus(180,200,145,4)
MrgaJump=0
EndIf

If level=3 Then
;===============LOAD LEVEL2==========********&&&^^%%$$$
CreatePlayer(350,200,80)
finishX=330
finishZ=75
CreateWorld("media/levels/basic_level1.b3d","media/levels/tex/brick5.jpg")
t.tmr=CreateTmr(0,0,30)
Dim cube.bonus(4)
CreateBonus(330,200,190,0)
CreateBonus(450,200,220,1)
CreateBonus(425,200,545,2)
CreateBonus(320,200,350,3)
CreateBonus(320,200,500,4)
MegaJump=1
EndIf

If level=4 Then
;===============LOAD LEVEL3==========********&&&^^%%$$$
CreatePlayer(-190,250,-50)
finishX=-190
finishZ=-60
CreateWorld("media/levels/basic_level3.b3d","media/levels/tex/brick4.jpg")
t.tmr=CreateTmr(0,0,60)
Dim cube.bonus(4)
CreateBonus(150,200,-50,0)
CreateBonus(190,200,-50,1)
CreateBonus(380,200,-50,2)
CreateBonus(775,200,-50,3)
CreateBonus(310,200,-50,4)
MegaJump=15
End If

;===============================================================================$$MAIN LOOP$$
далее идет цикл...
__________________

-Я умею общаться с трудными детьми. Моя мама в подвале держала подпольный детский сад! (С) "Теория большого взрыва"
(Offline)
 
Ответить с цитированием
Старый 15.02.2010, 15:08   #6
Harter
Бывалый
 
Аватар для Harter
 
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений
(для 2,520 пользователей)
Ответ: Общие вопросы:Завершающий этап

Об организации нужно было думать в самом начале. Есть масса вариантов... Можешь поискать примеры.

Поскольку всё так запущено, можно обойтись функциями LoadLevel(...) и DestroyLevel().
Также предлагаю ввести переменную GameScr и в игровом цикле (надеюсь, таковой имеется) обновлять то, что нужно в зависимости от значения: 0 - меню, 1 - игра и т. д.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Blender (15.02.2010)
Старый 15.02.2010, 15:15   #7
Blender
Нуждающийся
 
Аватар для Blender
 
Регистрация: 16.01.2010
Сообщений: 68
Написано 4 полезных сообщений
(для 5 пользователей)
Ответ: Общие вопросы:Завершающий этап

угу все понятно... только...
вот только этими строчками у меня отличаются уровни
CreatePlayer(-190,250,-50)
finishX=-190
finishZ=-60
CreateWorld("media/levels/basic_level3.b3d","media/levels/tex/brick4.jpg")
t.tmr=CreateTmr(0,0,60)
Dim cube.bonus(4)
CreateBonus(150,200,-50,0)
CreateBonus(190,200,-50,1)
CreateBonus(380,200,-50,2)
CreateBonus(775,200,-50,3)
CreateBonus(310,200,-50,4)
MegaJump=15
Что мне писать в DestroyLevel()?
__________________

-Я умею общаться с трудными детьми. Моя мама в подвале держала подпольный детский сад! (С) "Теория большого взрыва"
(Offline)
 
Ответить с цитированием
Старый 15.02.2010, 15:19   #8
Harter
Бывалый
 
Аватар для Harter
 
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений
(для 2,520 пользователей)
Ответ: Общие вопросы:Завершающий этап

Сообщение от Blender Посмотреть сообщение
Что мне писать в DestroyLevel()?
Выгружать всё, что касается уровня. Если нужно, разумеется. Например, чтобы при загрузке второго уровня, ресурсы первого уничтожались.
(Offline)
 
Ответить с цитированием
Старый 20.02.2010, 23:02   #9
firstvirus
Оператор ЭВМ
 
Регистрация: 13.01.2010
Сообщений: 35
Написано 3 полезных сообщений
(для 4 пользователей)
Ответ: Общие вопросы:Завершающий этап

Сообщение от Blender Посмотреть сообщение
угу все понятно... только...
вот только этими строчками у меня отличаются уровни
CreatePlayer(-190,250,-50)
finishX=-190
finishZ=-60
CreateWorld("media/levels/basic_level3.b3d","media/levels/tex/brick4.jpg")
t.tmr=CreateTmr(0,0,60)
Dim cube.bonus(4)
CreateBonus(150,200,-50,0)
CreateBonus(190,200,-50,1)
CreateBonus(380,200,-50,2)
CreateBonus(775,200,-50,3)
CreateBonus(310,200,-50,4)
MegaJump=15
Что мне писать в DestroyLevel()?
у тебя не в строчках разница, а в параметрах для функций и переменных. В функции LoadLevel(level%) принимаешь номер уровня и читаешь файл с параметрами для данного уровня или как сделал я. Загоняешь все параметры всех уровней в ini файл и читаешь оттуда. Для работы с ini есть хорошая библиотека INIFilev22. Только получается что тебе придется или тип для уровней организовать или кучку глобальных переменных. В DestroyLevel() просто обнуляй все параметры что ты загружал или удаляй объекты что ты загрузил (world:=nil;
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 17:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com