Смена локаций
Допустим у меня есть 2 функции. Каждая создаёт свою камеру свой свет свою плоскость. Тобиш 2 функции это 1 и 2 локации. Есть у меня например переменная location изменяя которую я заставляю работать функции. например если переменная равна одному работает первая функция, если двум то работает вторая.
А вот суть вопроса. Например заработала у меня эта первая функция создались в ней камера свет плоскоать, и я вдруг меняю переменную функция перестаёт работать включается другая функция где грузятся новые камера свет плоскость. Вопрос в том если я перестал выполнять первую функцию исчезнут ли объяекты которые она создавала? тобиш камера свет плоскость первой локации. Или мне их придётся при смене переменной удалять командой фри ентити? |
Re: Смена локаций
прийдется удалять ручками
у тебя же в памяти хранятся только ссылки на обьекты (указатели) поетому даже если ты их затрешь то из памяти они никуда не денутся |
Re: Смена локаций
Посмотри так пойдёт? Вроди всё работает как надо на Q грузится первая локация, на W вторая локация. Ток чёто медленно грузится почемуто.
Код:
;--------------------------------------------------------------------------------------- WORLD: |
Re: Смена локаций
oiiii
zdelay prosto cthobi bilo : Код:
function CreateLocation1() ps. ya v fluxbox v linux'e , tut poka russkogo netu :) |
Re: Смена локаций
Чёт я смысла непонял. ты имееш ввиду так? :
Код:
function CreateLocation1() |
Re: Смена локаций
Кажется не совсем пойдет...
Походу какмера у тебя оздается в цикле и есть возможность создавать одну и ту же много раз. Сколько раз нажмешь KeyHit(16) столько камер будет... Эти инициализации имхо лучше делать перед циклом образно говоря типа так: InitGraphicMode InitGlobalVar&Constant .start Select level Case 1 InitCamera1 CreateWorld1 Case 2 InitCamera2 CreateWorld1 ... End Select цикл While Not KeyDown(1) if KeyHit(16) level=level+1;на следующий левел free_all_world; там прописать убой всех энтити, света и камеры Goto start End If ... |
Re: Смена локаций
Чёто я загрузив мир вообще долговато не могу закрыть окно программы.
Моя система с 3 поста случаем не плодит триллион миров??? Вроди ток по 1 каждого элемента загрузиться должно. |
Re: Смена локаций
Цитата:
Я пока примерную систему загрузки уровней делаю, а дальше будет грузиться новая локация при коллизии юзера с концом локации, а старая сразуже удаляться. Там я уже не смогу второй раз проколлизиться ибо буду уже во второй локации. |
Re: Смена локаций
:) так не ставь создание мира в цикл.
|
Re: Смена локаций
Я не понял что значит не ставить создание мира в цикл.
Ты мне скопируй с моего кода то что я не должен ставить и скажи куда недолжен и почему? |
Re: Смена локаций
Функции Location1, Location2 лучше вызывать ДО While Not KeyDown(1) (тоесть цикла).
Можно еще посоветовать юзать стандартную функцию FreeWorld , почитай в хэлпе она облегчит удаление. --- Незнаю поможет ли, там есть смена локации (какраз с Goto), но пример не самый простой. http://damp.ucoz.ru/GAME.rar - 500Кб |
Re: Смена локаций
Если я
Код:
If KeyHit(16) Then Location=1 то у меня нихрена работать не будет А вот шо есть Goto понятия не имею ) Свою же систему загрузки делаю. |
Re: Смена локаций
эк, Вы, батенька жжоте.
Код:
If Location=<1>1 Then .... а всего лиеш это if location <=(2>2) или if location<=(false) оно же if location<=(0) собсно с еденицетй таже проблема. ЗЫ. Чо то ненравится мне твоя идея, Crystal, таким макаром грузить локации. Имхо надо выделить общую часть (камера, свет, скайбокс, оружие, враги, деревья) / которые ниезменны от уровня к уровню и нетрогать при загрузке локации их вообще. а в ф-ию передавать параметр, например LoadLocation(2) а в самой функции уже парсить это select - ом и загружать локацию в зависимости от значения. |
Re: Смена локаций
Цитата:
Да хрен его знает я решил что смогу обозначить этим то что если переменная меньше или больше единици то удаляем мир нахрен. Цитата:
Я вообще хочу в новой локации и юзера по новой создать, а всякое барахло что юзер с собой таскает всё равно в переменных храниться будет. |
Re: Смена локаций
значит так if variable<>1 надо
|
Часовой пояс GMT +4, время: 01:22. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot