![]() |
Здравствуйте!
Столкнулся с проблемой не решаемой на моём уровне знаний блитца ) Даж незнаю как объяснить... Ну короче например у меня 2 функции. Первая создаёт объект и камеру которую привязывает к нему. Вторая функция реализует управление объектом с клавиш. Если они у меня одновременно запущенны гденибудь под Код:
While Not KeyDown(1) Но вдруг решил я что объекта не должно быть при старте игры и что он должен вызываться ну например на клавишу. И вот значит так клавишей вызывается функция создающая объект и камеру. Код:
If KeyHit(16) Then Код:
While Not KeyDown(1) Знач пробую решить это запуском обоих функций с клавиши Код:
While Not KeyDown(1) Управление объектом именнуемое функция2 непашет ибо чтобы создать объект достаточно один раз вызвать функцию, но чтобы управлять объектом с помощю другой функции нужно чтобы эта функция не на миллисикунду вызвалась а работала постоянно! Так вот суть вопроса: Надо мне чтобы оби функции вызывались с 1 клавиши и чтобы первая функция сработала 1 раз а не плодила мне новые объекты с новыми камерами убивая блитц а вторая функция наоборот постоянно должна работать чтобы обеспечить объект управлением. Подскажите пожалуйста как реализовать? Я уверен что это очень просто но я незнаю как...:wallbash: Кстати сам объект в моей подписи =) О вот ещё забыл спросить. И как потом после остановить эту функцию с управлением? выключить нафиг. И как можно удалить объекты созданные функцией? Это всё мне нужно для того чтобы можно было не на одном корабле всю игру летать а на разных, и у всех должны быть разные характеристики, тобиш надо избавляться от функций1 и 2 и уже загружать новые 2 функции с кораблём и новым управлением. Вопщем жду помощи товарисчи! ::o" |
Re: Функции (
Вызываешь функцию №1, и перед вызовом второй проверяешь, есть ли объект, и еще, зачем создавать каждый раз новую камеру? Создай одну, а потом привязывай. Функцию тебе нужно сделать чтоб, создавался объект, к нему привязывать камеру, и если надо камеру передвинуть в его положение.
|
Re: Функции (
Нуу там камеру ещё на разное расстояние отдалять надо у каждого объекта...
Можно пример по проверке есть ли объект? |
Re: Функции (
if Blablabla = Null then обьекта нету
|
Re: Функции (
player_est = 0
While Not KeyDown(1) If KeyHit(16) Then функция() player_est = 1 End If if player_est = 1 then функция2() |
Re: Функции (
или каждой функции свою клавишу, или постав счётчик на одну клавишу и тогда функции будут поочереди заменять друг друга когда будеш нажимать на эту клавишу !!
|
Re: Функции (
Итак:
в начале создаешь камеру и событие, по которому должна выполняться функция обработки, в функции обработки пишешь: if твое событие истино then if твой обьект <> 0 здесь работа над объдктом ендиф ендиф потом в цикле вызываешь эту функцию, не забудь когда надо присвоить значение твоего усковия выполнения обработки когда тебе надо, если обьекра нет то функция не выполняеться |
Re: Функции (
|
Re: Функции (
Цитата:
Я предложил команде рпгешников с той темы ммо писать. |
Re: Функции (
Цитата:
вторая функйия не может найти объект ибо объект не в глобале. а в глобал я его из функции поставить немогу... походу надо както делать и создане объекта и его управление в одной функции я тут просто решил заново подругому делать игру которую делал так вот в старой версии у меня объекты грузились вообще не из функций а напрямую с цикла, при включении игры все объёкты уже стояли и функции с управлением тоже были загружены. а вот чтобы объект и его управление грузился не при старте игра а когда я захочу и всё работало у меня не получается ( Ниже предоставлю части кода которые мы щас обсуждаем Код:
Global speedk1#=0 Скрин ![]() |
Re: Функции (
не может такого быть. опять что-ьл не правильно делаеш
|
Re: Функции (
Цитата:
|
Re: Функции (
Ща посмотрю :)
Цитата:
Вообще всё елеметарно. Выложи код с медией - сделаю всё :) ЗЫЖ первый скрин напоминает мне разукрашеного пингвина, который приложил "крылья" к телу и пригнул вперед.... :-) |
Re: Функции (
Господа, а не проще ли в аське пообщаться?
|
Re: Функции (
Цитата:
Вообщето мы пишем по теме в нужном разделе. Почему это мы должны через асю? форум для чего? Быть может вообще не будем заходить на форум а будем все в асях общяться? |
Re: Функции (
Цитата:
насчёт глобала ты имел ввиду Global k1 и всё? а медию не выложу. мне ненадо чтобы за меня делали мою игру ) и в игре естественно я корабль кнопкой Q создавать не буду. я понять хочу как создать объект с отдельным для него управлением, и как удалить его вместе с функцией управления. |
Re: Функции (
Ну во-первых в аське быстрее, во-вторых в 4 посте уже прозвучал ответ и в третьих проблема ИМХО не стоит и выеденого яйца, проблема в подходу к структуре кода.
С уважением. |
Re: Функции (
Если ты имееш ввиду
Код:
if Blablabla = Null then обьекта нету и что писать вместо "Объекта нету" Поставил вначале Global k1 запускаю всю эту байду и функция управления пишет что незнает такого объекта как k1 ентити доес нот ексист фак ю спилберг пишет. Значит то что я сделал объект глобальным мне не помогло. Код:
Global speedk1#=0 |
Re: Функции (
Фуф слава тебе госпади заработало!
Я ещё до совета раитера системку делал с увеличением переменной при нажатии клавиш но неработало, постоянно ентити даос нот ексист было. Оказывается неработало потому что я не спал 2 дня и туплю )) Нечайно в одной из строчек кода лишний раз вызвал Функцию2 от туда и все проблемы )) Код:
Global k1u#=0 Код:
If k1u#=1 Then k1u() но исправил быстро, перинёс Код:
mXSp=MouseXSpeed() Теперь меня интерисует как можно удалить объект и камеру, и выключить функцию управленния ну например тоже на кнопку? |
Re: Функции (
Бляблябля - это твой корабль :)
If blablabla <> null then объект есть... Цитата:
FreeEntity Camera FreeEntity Object Upravl = 0 End If ... If Upravl <> 0 Then UpdutePlayer() |
Попробовал но выдаёт ентити даес нот ексист.
Вродибы камера и корабль в глобале но ета функция их невидет почемуто Попробовал вот так удалить корабль Код:
Global k1u2#=0 Мож я опять гоню? FreeEntity точно объекты удаляет? Или наерно скорее всего объекты то удаляются а функция с управлением остаётся, а так как нету корабля функции упралять нечем вылазиет ошибка. Как убить функцию? работает например в цикле BOO() вот чтоб её убрать удалить нафиг. |
Re: Функции (
Цитата:
ты их просто перестаешь вызывать.. по какому-либо условию. |
Re: Функции (
Канешно я перестаю их вызывать!
Вопрос в том как? Я вот непонял, что это должно делать? Цитата:
|
Re: Функции (
Ухаха =)
Разобрался. Функцию то перестать вызывать легко просто была проблема. Персатю вызывать функцию значит удаляю корабль и камеру. А мне пишет мол фак ю спилберк ентити доес нот ексист Camerak1 Это я понял получилось из-за последовательности удаления объектов у меня сначало удалялся корабль а потом камера. И мне писало камеры типа нету. Если я удаляю объект то камера привязанная кнему автоматом удаляется чтоли????? Вопщем если я удаляю сначало камеру а потом корабль то никаких ошибок у меня нету всё замечательно работает! Код:
If KeyHit(16) Then |
Re: Функции (
Цытата
Цитата:
|
Re: Функции (
При удалении объекта удалаются автоматически все его чилды. Поэтому , если ты хочешь этого избежать, то тебе надо распарентить нужные чилды от объекта перед его удалением.
ЗЫЖ всю тему не читал... |
Re: Функции (
Всё ясно )
Просто если я сначало удалял объект а потом пытался удалить его камеру то писало что камеры нету ошибка. А если удалял сначал окамеру потом объект всё зашибись ) Вот и подумал наверно он вместе с камерой удаляется. Ты подтвердил мои доводы, спасибо! |
Часовой пояс GMT +4, время: 16:09. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot