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=19894)

L-ee-X 08.07.2015 12:13

Ответ: Условия не работают правильно. В чём может быть причина?
 
Я так понимаю по достижению > 50 игрок не должен двигаться?
Тогда как я и писал выше
PHP код:

Graphics3D 800,600,16,2
SetBuffer BackBuffer
()

player CreateSphere()
cam CreateCamera(player)
enemy CreateCube()
PositionEntity enemy,0,0,20


While Not KeyHit(1)
PlayY# = 0
PlayX# = 0
PlayerX# = EntityX#(player)
PlayerY# = EntityY#(player)


If KeyDown(203Then PlayY# = + 0.5
If KeyDown(205Then PlayX# = + 0.5

If PlayerY# => 9
PlayY# = 0
EndIf
If 
PlayerX# => 9
PlayX# = 0
EndIf
MoveEntity player,PlayX#,PlayY#,0

RenderWorld()
UpdateWorld()





Text 1010PlayerX# + "     " + PlayerY#
Flip()

Wend
End 


softcrasoft 08.07.2015 12:14

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

softcrasoft 08.07.2015 12:16

Ответ: Условия не работают правильно. В чём может быть причина?
 
Как ты там приравниваешь X к 50 не понятно. командой EntityX(ent) ты не приравняешь позицию объекта к 50
даже так? а как тогда.
If EntityY#(player) > 40 Then
EntityY# = 40
Else If EntityX#(player) > 40 Then "Это условие выполнится если EntityX больше 40 но при этом EntityY меньше 40
EntityX# = 40
Else "Это условие выполнится если условие оба выше перечисленных условий ложное"
PlaySound(stepsound)
EndIf
EndIf
гыгы у меня тоже самое

softcrasoft 08.07.2015 12:20

Ответ: Условия не работают правильно. В чём может быть причина?
 
так entityX# = 50 что будет присваивать объекту для которого условие?

L-ee-X 08.07.2015 12:21

Ответ: Условия не работают правильно. В чём может быть причина?
 
Так я твой же код и взял просто прокоментировал

L-ee-X 08.07.2015 12:22

Ответ: Условия не работают правильно. В чём может быть причина?
 
Цитата:

Сообщение от softcrasoft (Сообщение 297430)
так entityX# = 50 что будет присваивать объекту для которого условие?

Ничего она не будет присваивать, тупо блуждающая переменная не понятная вообще к чему она относится

softcrasoft 08.07.2015 12:24

Ответ: Условия не работают правильно. В чём может быть причина?
 
то есть для перемещений только переменную отдельную делать надо. блин. тогда я вообе ничгео не понимаю. куда пихать код воспроизведения звука, если moveentity вне условия и в конце почти цикла

L-ee-X 08.07.2015 12:27

Ответ: Условия не работают правильно. В чём может быть причина?
 
Туда и пихай, если оба условие будут не верны, то воспроизводится звук, пока X < 50 и Y < 50 то выполнится блок ELSE

softcrasoft 08.07.2015 12:30

Ответ: Условия не работают правильно. В чём может быть причина?
 
у вас есть звуки к вашему коду вашего шутера? сможете сделать архив?

L-ee-X 09.07.2015 14:37

Ответ: Условия не работают правильно. В чём может быть причина?
 
PHP код:

Graphics3D 1024768 322
SetBuffer BackBuffer
()

player CreateSphere()
cam CreateCamera(player)
enemy CreateCube()
PositionEntity enemy,0,0,20
PositionEntity cam
00, -40

run
=LoadSound("dirt.wav")
SoundVolume run0
LoopSound run
runChannel 
PlaySound (run)

While 
Not KeyHit(1)
running#= 0
PlayY# = 0
PlayX# = 0
PlayerX# = EntityX#(player)
PlayerY# = EntityY#(player)


If KeyDown(203)
running Rnd (0.350.75)
PlayX# = + 0.1
If PlayerX# > 40
running#= 0
PlayX# = 0
EndIf
EndIf

 
If 
KeyDown(205)
running Rnd (0.350.75)
PlayX# = -0.1
If PlayerX# < -40
running#= 0
PlayX# = 0
EndIf
EndIf

If 
KeyDown(200)
running Rnd (0.350.75)
PlayY# = - 0.1
If PlayerY# < -40
running#= 0
PlayY# = 0
EndIf
EndIf

If 
KeyDown(208)
running Rnd (0.350.75)
PlayY# = + 0.1
If PlayerY# > + 40
running#= 0
PlayY# = 0
EndIf
EndIf

ChannelVolume runChannelrunning
MoveEntity player
,PlayX#,PlayY#,0

RenderWorld()
UpdateWorld()





Text 1010PlayerX# + "     " + PlayerY#
Flip()

Wend
End 

И только скажи что опять не так >>:( :wild:

softcrasoft 09.07.2015 16:35

Ответ: Условия не работают правильно. В чём может быть причина?
 
теперь я могу назвать вас профессионалом:).
Есть всего 2 вороса.
1. почему вы используете не += а = +? Или есть какие-то отличия?
2. Зачем вы это сделали. Чтоб меня напугать?
If*running*>*0
****ChannelPitch*runChannel,*Rnd*(80000,*14000)
EndIf
поменять высоту и на столько ггг и умереть можно от таких звуков.

L-ee-X 09.07.2015 16:48

Ответ: Условия не работают правильно. В чём может быть причина?
 
Сори со своего кода вытаскивал, он тут не нужен :-D

L-ee-X 09.07.2015 16:49

Ответ: Условия не работают правильно. В чём может быть причина?
 
Теперь нас два профессионала :-D

L-ee-X 09.07.2015 17:09

Ответ: Условия не работают правильно. В чём может быть причина?
 
Вот теперь посмотри как твое условие написано и посмотри как мое и сделай хотя бы какие нибудь выводы для себя чтоб в следующий раз не задавать глупых вопросов...

softcrasoft 09.07.2015 18:22

Ответ: Условия не работают правильно. В чём может быть причина?
 
ну для нуба в блице, это не глупый вопрос.


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

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