|
3D-программирование Вопросы, касающиеся программирования 3D мира |
12.09.2007, 20:15
|
#16
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Функции (
Сообщение от Raiter
Ща посмотрю
ты можеш объявить его глобальным в начале програмы
Вообще всё елеметарно. Выложи код с медией - сделаю всё
ЗЫЖ первый скрин напоминает мне разукрашеного пингвина, который приложил "крылья" к телу и пригнул вперед....
|
це дизайн корабля хлопец =) я решил что сзади должен выглядеть он так )
насчёт глобала ты имел ввиду Global k1 и всё?
а медию не выложу. мне ненадо чтобы за меня делали мою игру )
и в игре естественно я корабль кнопкой Q создавать не буду.
я понять хочу как создать объект с отдельным для него управлением, и как удалить его вместе с функцией управления.
|
(Offline)
|
|
12.09.2007, 20:18
|
#17
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: Функции (
Ну во-первых в аське быстрее, во-вторых в 4 посте уже прозвучал ответ и в третьих проблема ИМХО не стоит и выеденого яйца, проблема в подходу к структуре кода.
С уважением.
|
(Offline)
|
|
12.09.2007, 20:26
|
#18
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Функции (
Если ты имееш ввиду
if Blablabla = Null then обьекта нету
То я незнаю что такое блаблабла
и что писать вместо "Объекта нету"
Поставил вначале Global k1
запускаю всю эту байду и функция управления пишет что незнает такого объекта как k1 ентити доес нот ексист фак ю спилберг пишет.
Значит то что я сделал объект глобальным мне не помогло.
Global speedk1#=0
Global mXSp#
Global mYSp#
Global k1
Function k1()
k1 = LoadMesh("Data\object\ships\k1\k1.b3d")
ScaleEntity k1,1,1,1
PositionEntity k1,0,0,0
RotateEntity k1, 0, 0, 0
;---------------------------------------------------KAMEPA:
Include "Data\object\camera.txt"
End Function
Function k1u()
Zkrenk1#=0.5
XYkrenk1#=0.5
TSpeed#=0.010
TurnEntity k1,mYSp*TSpeed,0,0
TurnEntity k1,0,-mXSp*TSpeed,0
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
MoveEntity k1,0,0,+speedk1#
If KeyDown(30) Then TurnEntity k1,0,0,+Zkrenk1#
If KeyDown(32) Then TurnEntity k1,0,0,-Zkrenk1#
If KeyDown(200) Then TurnEntity k1,+XYkrenk1#,0,0
If KeyDown(208) Then TurnEntity k1,-XYkrenk1#,0,0
If KeyDown(203) Then TurnEntity k1,0,+XYkrenk1#,0
If KeyDown(205) Then TurnEntity k1,0,-XYkrenk1#,0
If KeyHit(17) Then
speedk1#=speedk1#+15
End If
If KeyHit(31) Then
speedk1#=speedk1#-15
End If
If speedk1#=60 Then
speedk1#=45
EndIf
If speedk1#=-15 Then
speedk1#=0
EndIf
End Function
player_est = 0
While Not KeyDown(1)
If KeyHit(16) Then
k1()
player_est = 1
End If
If player_est = 1 Then k1u()
mXSp=MouseXSpeed()
mYSp=MouseYSpeed()
UpdateWorld
RenderWorld
Flip
Wend
End
|
(Offline)
|
|
12.09.2007, 20:59
|
#19
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Функции (
Фуф слава тебе госпади заработало!
Я ещё до совета раитера системку делал с увеличением переменной при нажатии клавиш но неработало, постоянно ентити даос нот ексист было.
Оказывается неработало потому что я не спал 2 дня и туплю ))
Нечайно в одной из строчек кода лишний раз вызвал Функцию2
от туда и все проблемы ))
Global k1u#=0
If KeyHit(16) Then
k1()
k1u#=k1u#+1
End If
If k1u#=1 Then k1u()
Был вот такой косяк у меня:
If k1u#=1 Then k1u()
k1u()
Щас всё работает как хотел но вышла новая проблема, управление с клавиш работает, а с мышки работать перестало ))
но исправил быстро, перинёс
mXSp=MouseXSpeed()
mYSp=MouseYSpeed()
В функцию 2 =)
Теперь меня интерисует как можно удалить объект и камеру, и выключить функцию управленния ну например тоже на кнопку?
|
(Offline)
|
|
12.09.2007, 21:01
|
#20
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Re: Функции (
Бляблябля - это твой корабль
If blablabla <> null then объект есть...
Теперь меня интерисует как можно удалить объект и камеру, и выключить функцию управленния ну например тоже на кнопку?
|
If KeyDown(key) Then
FreeEntity Camera
FreeEntity Object
Upravl = 0
End If
...
If Upravl <> 0 Then UpdutePlayer()
|
(Offline)
|
|
12.09.2007, 21:25
|
#21
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Попробовал но выдаёт ентити даес нот ексист.
Вродибы камера и корабль в глобале но ета функция их невидет почемуто
Попробовал вот так удалить корабль
Global k1u2#=0
If KeyHit(18) Then
k1u2#=k1u2+1
End If
If k1u2#=1 Then
FreeEntity k1
End If
Пишет ентити доес нот ексист k1
Мож я опять гоню? FreeEntity точно объекты удаляет?
Или наерно скорее всего объекты то удаляются а функция с управлением остаётся,
а так как нету корабля функции упралять нечем вылазиет ошибка.
Как убить функцию?
работает например в цикле BOO()
вот чтоб её убрать удалить нафиг.
|
(Offline)
|
|
12.09.2007, 23:22
|
#22
|
ПроЭктировщик
Регистрация: 04.09.2005
Сообщений: 139
Написано одно полезное сообщение
|
Re: Функции (
Как убить функцию?
работает например в цикле BOO()
вот чтоб её убрать удалить нафиг.
|
функции не убиваются)
ты их просто перестаешь вызывать.. по какому-либо условию.
|
(Offline)
|
|
12.09.2007, 23:58
|
#23
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Функции (
Канешно я перестаю их вызывать!
Вопрос в том как?
Я вот непонял, что это должно делать?
Upravl = 0
If Upravl <> 0 Then UpdutePlayer()
|
|
(Offline)
|
|
13.09.2007, 00:18
|
#24
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Функции (
Ухаха =)
Разобрался.
Функцию то перестать вызывать легко просто была проблема.
Персатю вызывать функцию значит удаляю корабль и камеру.
А мне пишет мол фак ю спилберк ентити доес нот ексист Camerak1
Это я понял получилось из-за последовательности удаления объектов
у меня сначало удалялся корабль а потом камера. И мне писало камеры типа нету.
Если я удаляю объект то камера привязанная кнему автоматом удаляется чтоли?????
Вопщем если я удаляю сначало камеру а потом корабль то никаких ошибок у меня нету всё замечательно работает!
If KeyHit(16) Then
k1()
k1u#=1
End If
If k1u#=1 Then k1u()
If KeyHit(18) Then
k1u#=0
FreeEntity Camerak1
FreeEntity k1
End If
|
(Offline)
|
|
13.09.2007, 16:42
|
#25
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Функции (
Цытата
Если я удаляю объект то камера привязанная кнему автоматом удаляется чтоли?????
|
|
(Offline)
|
|
13.09.2007, 17:06
|
#26
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Функции (
При удалении объекта удалаются автоматически все его чилды. Поэтому , если ты хочешь этого избежать, то тебе надо распарентить нужные чилды от объекта перед его удалением.
ЗЫЖ всю тему не читал...
|
(Offline)
|
|
13.09.2007, 17:16
|
#27
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Функции (
Всё ясно )
Просто если я сначало удалял объект а потом пытался удалить его камеру то писало что камеры нету ошибка.
А если удалял сначал окамеру потом объект всё зашибись )
Вот и подумал наверно он вместе с камерой удаляется.
Ты подтвердил мои доводы, спасибо!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
API Функции |
maxturbo |
Библиотеки |
8 |
18.09.2009 02:38 |
функций |
NitE |
BlitzMax |
16 |
17.08.2009 00:39 |
Функции |
pipns |
Основной форум |
1 |
23.04.2007 11:54 |
Где функции? |
root |
3D-программирование |
12 |
02.01.2006 23:34 |
Часовой пояс GMT +4, время: 16:26.
|