|
15.02.2010, 13:15
|
#1
|
Нуждающийся
Регистрация: 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"
В коде есть и финиш и когда надо пишет "уровень пройдено"...
Но как его и чего... не представляю...
И как паузу делать по нажатию ескейп???
Может кто знает пример...
__________________
-Я умею общаться с трудными детьми. Моя мама в подвале держала подпольный детский сад! (С) "Теория большого взрыва"
|
(Offline)
|
|
15.02.2010, 14:15
|
#2
|
Мастер
Регистрация: 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 функция загрузки уровня, для всех уровней.
|
(Offline)
|
|
15.02.2010, 14:28
|
#3
|
Нуждающийся
Регистрация: 16.01.2010
Сообщений: 68
Написано 4 полезных сообщений (для 5 пользователей)
|
Ответ: Общие вопросы:Завершающий этап
пример можно..??
__________________
-Я умею общаться с трудными детьми. Моя мама в подвале держала подпольный детский сад! (С) "Теория большого взрыва"
|
(Offline)
|
|
15.02.2010, 14:51
|
#4
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Общие вопросы:Завершающий этап
Хочу пояснить что команда Include во всех языках работает на стадии компиляции проекта, тупо вклеивая содержимое файла в текущую позицию. В рантайме эта команда не работает т.к. её вообще не будет. И строить логику программы на манипулировании инклудами порочный круг.
Include = Copy&Paste код в текущую позицию.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.02.2010, 15:03
|
#5
|
Нуждающийся
Регистрация: 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
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: Общие вопросы:Завершающий этап
Об организации нужно было думать в самом начале. Есть масса вариантов... Можешь поискать примеры.
Поскольку всё так запущено, можно обойтись функциями LoadLevel(...) и DestroyLevel().
Также предлагаю ввести переменную GameScr и в игровом цикле (надеюсь, таковой имеется) обновлять то, что нужно в зависимости от значения: 0 - меню, 1 - игра и т. д.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.02.2010, 15:15
|
#7
|
Нуждающийся
Регистрация: 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
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: Общие вопросы:Завершающий этап
Сообщение от Blender
Что мне писать в DestroyLevel()?
|
Выгружать всё, что касается уровня. Если нужно, разумеется. Например, чтобы при загрузке второго уровня, ресурсы первого уничтожались.
|
(Offline)
|
|
20.02.2010, 23:02
|
#9
|
Оператор ЭВМ
Регистрация: 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)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:11.
|