![]() |
if then непонятно
вопрос - понимаю глупый
объясните почему не работает (при выборе 1-2) az1=0 az2=0 pitch#=0 QWE=2 While Not KeyDown( 1 ) If KeyDown( 2 )=True Then QWE=Input("num") If KeyDown( 205 )=True Then pitch#=-1 If KeyDown( 203 )=True Then pitch#=1 If qwe=1 Then az1=az1+pitch# If qwe=2 Then az2=az2+pitch# RotateEntity zx1,0,0,az1 RotateEntity zx2,0,0,az2 RenderWorld Text 0,20,"Pitch: "+az1 Flip Wend End |
Re: if then непонятно
в гамаке и стоя...
Graphics3D 800,600,32,1 c = CreateCamera() PositionEntity c,0,0,-3 d = CreateCube() Repeat If KeyDown(2) MoveEntity c,0,0,-0.1;<1> If KeyDown(3) MoveEntity c,0,0,0.1;<2> RenderWorld Flip Until KeyHit(1) End или Graphics3D 800,600,32,1 c = CreateCamera() PositionEntity c,0,0,-10 d = CreateCube() Repeat If KeyDown(2) q#=.1 If KeyDown(3) q#=-.1 MoveEntity d,0,0,q# RenderWorld Flip Until KeyHit(1) End иначе я ничего не понял:(... |
Re: if then непонятно
Так, начнём с того что код пишем грамотно. А тоесь:
Форма: [blitz]If ... Then Else EndIf[/blitz] Имеет лишнию штучку, "Then" Тоесть можно писать и так: If qwe=1 az1=az1+pitch Вообще я бы сделал не так. Я бы использовал Select [blitz]Select qwe Case 1 az1=az1+pitch Case 2 az2=az2+pitch End Select[/blitz] Ещё в коде есть такой критерий "Читабельность", который я считая Очень важен. Поэтому не забывай, делать свой код Читабельным. |
Re: if then непонятно
не то куда не ставлю не катит,
вот код Graphics3D 800,600,16,2 SetBuffer BackBuffer() ca=CreateCamera() light=CreateLight() zx1=CreatePivot () PositionEntity zx1,0,0,9 kb1=CreateCube(zx1) ScaleEntity kb1,.5,.5,.5 zx2=CreatePivot (zx1) PositionEntity zx2,0,3,0 kb2=CreateCube(zx2) ScaleEntity kb2,.5,.5,.5 az1=0 az2=0 pitch#=0 QWE=2 While Not KeyDown( 1 ) If KeyDown( 2 )=True Then QWE=Input("num") If KeyDown( 205 )=True Then pitch#=-1 If KeyDown( 203 )=True Then pitch#=1 If qwe=1 Then az1=az1+pitch# If qwe=2 Then az2=az2+pitch# RotateEntity zx1,0,0,az1 RotateEntity zx2,0,0,az2 RenderWorld Text 0,20,"Pitch: "+az1 Flip Wend End это начало . будут далее зависимые объекты zx3....zx90 |
Re: if then непонятно
Всё просто, это всё Input. При нажатии "1", он делает Iput и сразу вводит единичку.
Замени эту строчку: If KeyDown( 2 )=True Then QWE=Input("num") На это: [blitz]If KeyHit( 2 ) FlushKeys QWE%=Input("num: ") EndIf[/blitz] Тоесть при нажатии цифры 1, происходит сброс всех нажатий, и тогда идён ввод. |
Re: if then непонятно
ооо так то даа
благодарю |
Часовой пояс GMT +4, время: 06:31. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot