forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   вопрос о Столкновениях (http://forum.boolean.name/showthread.php?t=5845)

JeSss 04.03.2008 16:46

вопрос о Столкновениях
 
Вообщем такая проблема, я сделал так, когда перс сталкиваецо с кубом он к примеру поднимаеца вверх, БЕЗ остановки, а как сделать когда перс уже НЕ соприкасается с кубом то перестаёт лететь вверх? А, ещё, когда он соприкасаецо с кубом и поднимаецо вверх, то перс должен подниматься только при ЗАЖАТОЙ клавише, если она отжата и перс соприкасается с кубом то он стоит на месте...

Crystal 04.03.2008 18:08

Ответ: вопрос о Столкновениях
 
Код:

Z#=0
translateentity перс,0,+Z#,0
If EntityCollided (перс,куб) and keydown(200) Then
Z#=1
else
Z#=0
End If

Канибудь типа этого.

К вопросам исходняк прилагай, чтобы сразу было понятно что требуется,
и чтобы можно было дописать код.

JeSss 04.03.2008 18:14

блин(
 
непомогло..

Crystal 04.03.2008 18:17

Ответ: вопрос о Столкновениях
 
Клади сюда свой код.
Ато хрен его знает, что ты там накодил.

moka 04.03.2008 18:30

Ответ: вопрос о Столкновениях
 
Боже ты мой, опять чтоли???
Ну хватит может уже А?

HolyDel 04.03.2008 18:40

Ответ: вопрос о Столкновениях
 
поменяй на минус

Halk-DS 05.03.2008 00:51

Ответ: вопрос о Столкновениях
 
2 Blitzerg Следим за кодом!!!
Z#=0
TranslateEntity Bla-bla-bla -Короче Z=0 значит ничё с моделькой не делается!!!

If #$# Then
%@&%#^&
EndIf
--- Припустим коллизия сбылась и Зед=1 но мы возвращяемся в начало и что? z = 0 опять!!! Немного етот код надо отрихтовать, поменять местами рядки!!!


If EntityCollided (перс,куб) and keydown(200) Then
Z#=1
else
Z#=0
End If
translateentity перс,0,Z#,0
Z#=0

2 HolyDel а насччет минуса, сам непонял! Но от еще полезно было б поставить в конце translateentity еденицу!!! translateentity перс,0,Z#,0,1!!!

Crystal 05.03.2008 01:09

Ответ: вопрос о Столкновениях
 
В первый раз вижу чтобы переменная с которой работает условие, писалась под условием...

FrankH 05.03.2008 01:55

Ответ: вопрос о Столкновениях
 
Цитата:

Сообщение от Blitzerg (Сообщение 78756)
В первый раз вижу чтобы переменная с которой работает условие, писалась под условием...

В первый раз вижу, чтобы перед вычислениями переменную обнуляли(в цикле?);)
Еще ваиант:
;Z# - скорость ходьбы
;Y# - скорость подьема, можно брать из высоты куба, или хз что у тебя за игра.
If keydown(200) Then moveentity перс,0,EntityCollided (перс,куб)*Y#,Z#

Halk-DS 05.03.2008 11:22

Ответ: вопрос о Столкновениях
 
2 Blitzerg Ну смотри сам, если перед командой moveentity 0,Z,0 или translateentity 0,Z,0 поставить строку z=0 то модель никогда не сдвинется с места, потомучто мы всегда обнуляем "Z" !!! Если уже тебе так ненравится когда переменная с которой работает условие, писалась под условием, то можно так !!!

translateentity перс,0,Z#,0
Z#=0
If EntityCollided (перс,куб) and keydown(200) Then
Z#=1
else
Z#=0
End If

Leito 04.04.2008 03:02

Re: вопрос о Столкновениях
 
а зачемс собственно ее обнулять..

HolyDel 04.04.2008 12:06

Ответ: вопрос о Столкновениях
 
Цитата:

а зачемс собственно ее обнулять..
игра идет слишком быстро. уж даже не знают как бы сделать побольше лишних операций.

Цитата:

2 HolyDel а насччет минуса, сам непонял!
какой вопрос - такой и ответ.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot