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

SBJoker 19.01.2007 10:44

Re: Гусеница
 
Цитата:

Сообщение от HolyDel
2SBJoker: анимация текстуры и ее скролл -несколько разные вещи, имхо.

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

Во вторых:
animation

сущ.
1) анимация (мультипликация)
2) воодушевление; живость; вдохновение, оживление


В текущем разговоре это слово использовалось во втором значении, а именно "оживить", заставить двигаться текстуру,т.е. анимировать. А не использовать предварительно анимированую последовательность картинок.

HolyDel 20.01.2007 02:50

Re: Гусеница
 
2SBJoker. Ok.

2Fant если кроме танка ничего больше анимированного в сцене нету, то легче всего изменять параметр UpdateWorld.
т.е. должно быть примерно так UpdateWorld(spd*f), где spd - скорость танка, а f - фактор, который подбирается экспериментально.

Fant 20.01.2007 23:10

Re: Гусеница
 
Короче фишка такая. Я не могу удалить пробелом все элементы. То есть я понимаю из-за чего ошибка, но не знаю как ее можно обойти. Пробел - удаление.

Подкажите что можно сделать?

Код:

Graphics3D 640,480,16,2


Const UPS=60

Const Max=10; - number of trackS

Type tank1
Field xPosition#
Field yPosition#
Field zPosition#
Field obj
End Type

Dim cube (Max);track
Dim cube2(Max);track

Global speed#=0
Global ok=0
Global ok1=True
kdown=KeyDown(200)


;Cam & light
camera=CreateCamera()
CameraClsColor camera,0,0,255
PositionEntity camera,0,10,0
CameraRange camera,1,20
RotateEntity camera ,90,0,0

l=CreateLight()
RotateEntity l,45,0,0

;ground=CreateCube()
;PositionEntity ground,0,-1,0
;ScaleMesh  ground,15,1,15
;EntityColor ground,128,128,192

;tankModel=CreateCube()

t1.tank1=New tank1
;Create details of tank
tank1=CreateCube()
ScaleMesh tank1,1,.1,.5
PositionEntity  tank1,0,0,0

tower=CreateSphere(4, tank1)
ScaleMesh tower,.3,.3,.3
PositionMesh tower,0,.2,0

wheel1=CreateCube( tank1)
ScaleMesh wheel1,.5,.05,.05
PositionMesh wheel1,0,0,.6

wheel2=CreateCube(tank1)
ScaleMesh wheel2,.5,.05,.05
PositionMesh wheel2,0,0,-.6

cannon=CreateCylinder(6,tower)
ScaleMesh cannon,.1,.5,.1
RotateMesh cannon,0,0,100
PositionMesh cannon,.6,.4,0


;Original cube. It makes tracks
cube(0)=CreateCube()
ScaleEntity cube(0),.025,.025,.025
HideEntity cube(0)

;animated track
For  i = 1 To Max

cube(i) = CopyEntity(cube(0))
cube2(i) = CopyEntity(cube(0))

EntityParent cube(i), tank1
EntityParent cube2(i), tank1

RotateEntity cube(i),0,0,0
PositionEntity cube(i),-1,-.25,.6
SetAnimKey cube(i),0

RotateEntity cube(i),0,0,0
PositionEntity cube(i),-1,.25,.6
SetAnimKey cube(i),60

RotateEntity cube(i),0,0,0
PositionEntity cube(i),1,.25,.6
SetAnimKey cube(i),120

RotateEntity cube(i),0,0,0
PositionEntity cube(i),1,-.25,.6
SetAnimKey cube(i),180

RotateEntity cube(i),0,0,0
PositionEntity cube(i),-1,-.25,.6
SetAnimKey cube(i),240


RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),-1,-.25,-.6
SetAnimKey cube2(i),0

RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),-1,.25,-.6
SetAnimKey cube2(i),60

RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),1,.25,-.6
SetAnimKey cube2(i),120

RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),1,-.25,-.6
SetAnimKey cube2(i),180

RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),-1,0,-.6
SetAnimKey cube2(i),240

Next


For i=1 To Max
AddAnimSeq cube(i),240
AddAnimSeq cube2(i),240
Next

For i=1 To Max
Animate cube(i),1,1,0, i*24
Animate cube2(i),1,1,0, i*24
Next
i=0
While i<240

UpdateWorld
i=i+1
Wend



;Color set
black_br=CreateBrush(0,0,0)
PaintMesh  tank1,black_br
white_br=CreateBrush(255,255,255)
PaintMesh tower,white_br
grey_br=CreateBrush(119,136,122)
PaintMesh cannon,grey_br
orange_br=CreateBrush(226,118,29)
PaintMesh wheel1,orange_br
PaintMesh wheel2,orange_br
rose_br=CreateBrush(214,58,218)
PaintMesh tower,rose_br

;addMeshes (details of tank)
AddMesh tower, tank1
AddMesh  wheel1, tank1
AddMesh  wheel2, tank1
AddMesh  cannon, tank1

FreeEntity tower
FreeEntity wheel1
FreeEntity wheel2
FreeEntity cannon


period=1000/UPS
time=MilliSecs()-period

Repeat
        Repeat
                elapsed=MilliSecs()-time
        Until elapsed
        ticks=elapsed/period
        tween#=Float(elapsed Mod period)/Float(period)
       
        For k=1 To ticks
                time=time+period


If KeyHit(57)
FreeEntity cube(0)
For i=1 To max
HideEntity cube(i)
HideEntity  cube2(i)
Next


FreeEntity tank1

End If


If  Not KeyDown(200)
 
For i=1 To Max
Local p#=AnimTime#(cube(i))
SetAnimTime cube(i),p#
p#=AnimTime#(cube2(i))
SetAnimTime cube2(i),p#
Next
EndIf



If KeyHit(200) Then
 p#=AnimTime#(cube(1))
For i=1 To Max
Animate cube(i),1,1,0, i*24
Animate cube2(i),1,1,0, i*24
Next
i=0
WaitKey
While i<240+p#
UpdateWorld
i=i+1
Wend

EndIf



For t1.tank1=Each tank1
If KeyDown(203) Then TurnEntity  tank1,0,3,0
If KeyDown(205) Then TurnEntity  tank1,0,-3,0
If KeyDown(200) Then MoveEntity  tank1,.1,0,0
If KeyDown(208) Then MoveEntity  tank1,-.1,0,0       
Next
       


                If KeyHit(1) End
                UpdateWorld       
        Next
       
        RenderWorld tween
        Flip

Forever


HolyDel 21.01.2007 01:13

Re: Гусеница
 
лучше - бы весь код в студию.
а так сильно имхо:
Код:

if keydown(57)
for t.tank1=each tank1
freeentity t\obj ; удаляем модель
delete t
next
endif


Fant 21.01.2007 14:30

Re: Гусеница
 
2HolyDel но вообще-то код, который я выложил и есть - весь

И так не работает) посмотри в чем там ошибка! Вернее ясно в чем она, вопрос как ее избежать!?

HolyDel 22.01.2007 02:28

Re: Гусеница
 
Fant, а что вообще надо? просто удалить танк?
выйди за цикл и удали его. или проверяй на удаленность, если удален танк то никакие операции не должны над ним производиться.
вот рабочий пример:
Код:

Graphics3D 640,480,16,2


Const UPS=30

Const Max=10; - number of trackS

Type tank1
Field xPosition#
Field yPosition#
Field zPosition#
Field obj
End Type

Dim cube (Max);track
Dim cube2(Max);track

Global speed#=0
Global ok=0
Global ok1=True
kdown=KeyDown(200)


;Cam & light
camera=CreateCamera()
CameraClsColor camera,0,0,255
PositionEntity camera,0,10,0
CameraRange camera,1,20
RotateEntity camera ,90,0,0

l=CreateLight()
RotateEntity l,45,0,0

;ground=CreateCube()
;PositionEntity ground,0,-1,0
;ScaleMesh  ground,15,1,15
;EntityColor ground,128,128,192

;tankModel=CreateCube()

t1.tank1=New tank1
;Create details of tank
tank1=CreateCube()
ScaleMesh tank1,1,.1,.5
PositionEntity  tank1,0,0,0

tower=CreateSphere(4, tank1)
ScaleMesh tower,.3,.3,.3
PositionMesh tower,0,.2,0

wheel1=CreateCube( tank1)
ScaleMesh wheel1,.5,.05,.05
PositionMesh wheel1,0,0,.6

wheel2=CreateCube(tank1)
ScaleMesh wheel2,.5,.05,.05
PositionMesh wheel2,0,0,-.6

cannon=CreateCylinder(6,tower)
ScaleMesh cannon,.1,.5,.1
RotateMesh cannon,0,0,100
PositionMesh cannon,.6,.4,0


;Original cube. It makes tracks
cube(0)=CreateCube()
ScaleEntity cube(0),.025,.025,.025
HideEntity cube(0)

;animated track
For  i = 1 To Max

cube(i) = CopyEntity(cube(0))
cube2(i) = CopyEntity(cube(0))

EntityParent cube(i), tank1
EntityParent cube2(i), tank1

RotateEntity cube(i),0,0,0
PositionEntity cube(i),-1,-.25,.6
SetAnimKey cube(i),0

RotateEntity cube(i),0,0,0
PositionEntity cube(i),-1,.25,.6
SetAnimKey cube(i),60

RotateEntity cube(i),0,0,0
PositionEntity cube(i),1,.25,.6
SetAnimKey cube(i),120

RotateEntity cube(i),0,0,0
PositionEntity cube(i),1,-.25,.6
SetAnimKey cube(i),180

RotateEntity cube(i),0,0,0
PositionEntity cube(i),-1,-.25,.6
SetAnimKey cube(i),240


RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),-1,-.25,-.6
SetAnimKey cube2(i),0

RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),-1,.25,-.6
SetAnimKey cube2(i),60

RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),1,.25,-.6
SetAnimKey cube2(i),120

RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),1,-.25,-.6
SetAnimKey cube2(i),180

RotateEntity cube2(i),0,0,0
PositionEntity cube2(i),-1,0,-.6
SetAnimKey cube2(i),240

Next


For i=1 To Max
AddAnimSeq cube(i),240
AddAnimSeq cube2(i),240
Next

For i=1 To Max
Animate cube(i),1,1,0, i*24
Animate cube2(i),1,1,0, i*24
Next
i=0
While i<240

UpdateWorld
i=i+1
Wend



;Color set
black_br=CreateBrush(0,0,0)
PaintMesh  tank1,black_br
white_br=CreateBrush(255,255,255)
PaintMesh tower,white_br
grey_br=CreateBrush(119,136,122)
PaintMesh cannon,grey_br
orange_br=CreateBrush(226,118,29)
PaintMesh wheel1,orange_br
PaintMesh wheel2,orange_br
rose_br=CreateBrush(214,58,218)
PaintMesh tower,rose_br

;addMeshes (details of tank)
AddMesh tower, tank1
AddMesh  wheel1, tank1
AddMesh  wheel2, tank1
AddMesh  cannon, tank1

FreeEntity tower
FreeEntity wheel1
FreeEntity wheel2
FreeEntity cannon


period=1000/UPS
time=MilliSecs()-period
is_tank=1
Repeat
        Repeat
                elapsed=MilliSecs()-time
        Until elapsed
        ticks=elapsed/period
        tween#=Float(elapsed Mod period)/Float(period)
       
        For k=1 To ticks
                time=time+period


If KeyHit(57)
FreeEntity cube(0)
For i=1 To max
HideEntity cube(i)
HideEntity  cube2(i)
Next
FreeEntity tank1
is_tank=0
End If

If is_tank
       

If  Not KeyDown(200)
 
For i=1 To Max
Local p#=AnimTime#(cube(i))
SetAnimTime cube(i),p#
p#=AnimTime#(cube2(i))
SetAnimTime cube2(i),p#
Next
EndIf



If KeyHit(200) Then
 p#=AnimTime#(cube(1))
For i=1 To Max
Animate cube(i),1,1,0, i*24
Animate cube2(i),1,1,0, i*24
Next
i=0
WaitKey
While i<240+p#
UpdateWorld
i=i+1
Wend

EndIf



For t1.tank1=Each tank1
If KeyDown(203) Then TurnEntity  tank1,0,3,0
If KeyDown(205) Then TurnEntity  tank1,0,-3,0
If KeyDown(200) Then MoveEntity  tank1,.1,0,0
If KeyDown(208) Then MoveEntity  tank1,-.1,0,0       
Next
       

EndIf

                If KeyHit(1) End
                UpdateWorld       
        Next
       
        RenderWorld tween
        Flip

Forever

P.S. Извиняй что не заметил что код весь.

Fant 22.01.2007 16:59

Re: Гусеница
 
2HolyDel спасибо! Теперь я понял как все удалить!

Fant 25.01.2007 21:22

Re: Гусеница
 
Снова траблы. Я хочу гусеницу представить не через dim(массив), а через type (тип)

Вот я вынес из кода одну гусеницу, и не понимаю...не могу найти ошибку и даже понять как это сотворить?

track2 - сделана через массив и работает (если закомментить все, что касается track)

вот код
Код:

Graphics3D 640,480,16,2

Const UPS=60

Const max=10


Dim track2(Max);track

Type track
Field obj[10]
End Type

cam=CreateCamera()

RotateEntity cam,90,0,0
PositionEntity cam,0,3,0

l=CreateLight()

track(0)=CreateCube()
ScaleEntity track(0),.025,.025,.025
HideEntity track(0)

;animated track
For  i = 1 To Max
t.track=New track

t\obj = CopyEntity(track(0))

track2(i) = CopyEntity(track(0))


For t.track=Each track
RotateEntity t\obj,0,0,0
PositionEntity t\obj,-1,-.25,.6
SetAnimKey t\obj,0

RotateEntity t\obj,0,0,0
PositionEntity t\obj,-1,.25,.6
SetAnimKey t\obj,60

RotateEntity t\obj,0,0,0
PositionEntity t\obj,1,.25,.6
SetAnimKey t\obj,120

RotateEntity t\obj,0,0,0
PositionEntity t\obj,1,-.25,.6
SetAnimKey t\obj,180

RotateEntity t\obj,0,0,0
PositionEntity t\obj,-1,-.25,.6
SetAnimKey t\obj,240


RotateEntity track2(i),0,0,0
PositionEntity track2(i),-1,-.25,-.6
SetAnimKey track2(i),0

RotateEntity track2(i),0,0,0
PositionEntity track2(i),-1,.25,-.6
SetAnimKey track2(i),60

RotateEntity track2(i),0,0,0
PositionEntity track2(i),1,.25,-.6
SetAnimKey track2(i),120

RotateEntity track2(i),0,0,0
PositionEntity track2(i),1,-.25,-.6
SetAnimKey track2(i),180

RotateEntity track2(i),0,0,0
PositionEntity track2(i),-1,-.25,-.6
SetAnimKey track2(i),240
Next
;animation set
For i=1 To Max
For t.track=Each track
AddAnimSeq t\obj,240

AddAnimSeq track2(i),240


Animate t\obj,1,1,0, i*24
Animate track2(i),1,1,0, i*24
Next
Next

i=0
While i<240

UpdateWorld
i=i+1
Wend


period=1000/UPS
time=MilliSecs()-period

Repeat
        Repeat
                elapsed=MilliSecs()-time
        Until elapsed
        ticks=elapsed/period
        tween#=Float(elapsed Mod period)/Float(period)
       
        For k=1 To ticks
                time=time+period       
                If KeyHit(1) End
                UpdateWorld       
        Next


If  Not KeyDown(200) Or  KeyDown(208)
        For i=1 To Max
        For t.track=Each track
If t\obj<>0 Then
        Local p#=AnimTime#(track(i))
        SetAnimTime track(i),p#
EndIf
If track2(i)<>0 Then
        p#=AnimTime#(track2(i))
        SetAnimTime track2(i),p#
EndIf
        Next
        Next
                EndIf


If KeyHit(208) Then
 p#=AnimTime#(track(1))
        For i=1 To Max
        For t.track=Each track
Animate t\obj,1,-1,0, i*24
Animate track2(i),1,-1,0, i*24
        Next
        Next
i=0
WaitKey
While i<240+p#
UpdateWorld
i=i+1
Wend
        EndIf

If KeyHit(200) Then
 p#=AnimTime#(track(1))
        For i=1 To Max
                For t.track=Each track
Animate t\obj,1,1,0, i*24
        Next
Animate track2(i),1,1,0, i*24
        Next

       
i=0
WaitKey
While i<240+p#
UpdateWorld
i=i+1
Wend
        EndIf
               


       


        RenderWorld tween
        Flip

Forever
Next


Fant 27.01.2007 11:43

Re: Гусеница
 
Форум благополучно спит?;)

Я пытался сделать так, как нужно, но просто я не до конца понял, как это реализовать!

Diplomat 27.01.2007 17:38

Re: Гусеница
 
Сравни две строки:
Field obj[10]
и любую из последующих, например:
t\obj = CopyEntity(track(0))
"Ти всё-таки дапусирь маренький асибка!"(с)

Иначе говоря, всё, что ниже камента "animated track"- неправильно.
Теперь думай.
;)

Fant 28.01.2007 12:34

Re: Гусеница
 
Цитата:

Сообщение от Diplomat
Сравни две строки:
Field obj[10]
и любую из последующих, например:
t\obj = CopyEntity(track(0))
"Ти всё-таки дапусирь маренький асибка!"(с)

Иначе говоря, всё, что ниже камента "animated track"- неправильно.
Теперь думай.
;)

Попробую подумать, но то, что там ошибка я, конечно и сам догадался. Догадался весьма легко: программка не запускалась.

Diplomat 28.01.2007 13:22

Re: Гусеница
 
Сразу видно, что вначале у тебя в поле типа одномерный массив obj[10], а потом- почему-то простая переменная obj.
Естественно, такой кандибобер не будет работать.
И первый цикл, кстати, делает не 10 траков для одной гусеницы, а пытается клепать 10 гусениц с одним траком каждая.
Всё. Знаю, конечно, что поначалу вьехать очень трудно, но больше подсказывать не буду. Иначе трудно будет определить, понял ты, или списал. А это надо понять самому.
Думай.

Fant 28.01.2007 20:10

Re: Гусеница
 
[code]
Type track
Field obj[10]
End Type
t.track=New track
For t.track=Each track
t\obj[10]=CreateCube()
ScaleEntity t\obj[10],.025,.025,.025
PositionEntity t\obj[10],.1*.2,0,0
Next
[\code]

Я так создаю 10 кубиков или 1 кубик? - оказывается что 1
А как мне через positionEntity это проверить? так i*20

Мне нужно создать 10 кубиков через тип а потом из анимировать. Я иду правильным путем? - ну та это никак не могу сообразить((((((

Diplomat 28.01.2007 21:05

Re: Гусеница
 
Конечно, ты создаешь один кубик. А как иначе?
Вот смотри, если отвлечься от типов вообще, и рассматривать поля типов как простые переменные и массивы (коими они и являются), то всё становится намного проще:
1. Ты создал массив на 11 элементов: Field obj[10].
2. Ты присвоил 10-му элементу массива хендл свежесозданного куба: t\obj[10]=CreateCube()
3. Ну и всё. Других 10 кубов ты нигде не создаешь. Т.е. цикла по элементам массива в твоем коде нет как нет.
А без цикла ты не заполнишь 10 элементов массива. Ферштейн?
[blitz]For n=0 to 10
t\obj[n]=CreateCube()
Next[/blitz]
Или грубо говоря
[blitz]t\obj[0]=CreateCube()
t\obj[1]=CreateCube()
t\obj[2]=CreateCube()
;...
t\obj[8]=CreateCube()
t\obj[9]=CreateCube()
t\obj[10]=CreateCube()[/blitz]
Вот.

Цитата:

Мне нужно создать 10 кубиков через тип а потом из анимировать. Я иду правильным путем?
Если не вдаваться в жЫзненный и популярный среди юзверей вопрос "а зачем тебе вообще создавать 10 кубиков через тип и анимировать их вручную?!!", то можно предположить, что идешь ты правильным путем, но идешь не понимая его сути.
Это не беда, я, к примеру, когда был юн и учил БЕЙСИК-МСХ, тоже не сразу понял, что такое ветвления, экспотенциальная форма числа привела меня в замешательство, массивы- в ступор (чем, чйорт подйери, они отличаются от обычных переменных?!! :)), сабрутины показались редкостно ужасным изобретением, а из всех операторов цикла я выбрал оператор безусловного перехода, который тогда именовался еще раздельно: "Go To"...
:-)
Так что давай, учись.

Fant 28.01.2007 21:15

Re: Гусеница
 
ТОка хотел написать! Я все сделал, кроме в скобках...[n]
Код:

Graphics3D 640,480,16,2
Type track
Field obj
End Type
;Ñîçäàåì îðèãèíàëüíû êóá
OriginalTrack=CreateCube()
ScaleEntity OriginalTrack,.025,.025,.025
HideEntity OriginalTrack
 
For a=0 To 9;äåëàåì 10 êóáèêîâ, êîòîðûå íóæíî ðàññòàâèòü ïî-÷åëîâå÷åñêè
t.track=New track
t\obj=CopyEntity (originalTrack)
 
RotateEntity t\obj,0,0,0
PositionEntity t\obj,-1,-.25,.6
SetAnimKey t\obj,0
RotateEntity t\obj,0,0,0
PositionEntity t\obj,-1,.25,.6
SetAnimKey t\obj,60
RotateEntity t\obj,0,0,0
PositionEntity t\obj,1,.25,.6
SetAnimKey t\obj,120
RotateEntity t\obj,0,0,0
PositionEntity t\obj,1,-.25,.6
SetAnimKey t\obj,180
RotateEntity t\obj,0,0,0
PositionEntity t\obj,-1,-.25,.6
SetAnimKey t\obj,240
AddAnimSeq t\obj,240
Animate t\obj,1,1,0, i*24
Next
 
Const UPS=60
cam=CreateCamera()
RotateEntity cam,0,0,0
PositionEntity cam,0,0,-1
l=CreateLight()
period=1000/UPS
time=MilliSecs()-period
Repeat
Repeat
elapsed=MilliSecs()-time
Until elapsed
ticks=elapsed/period
tween#=Float(elapsed Mod period)/Float(period)
 
For k=1 To ticks
time=time+period
If KeyHit(1) End
UpdateWorld
Next
 
RenderWorld tween
Flip
Forever

Ну только расположить не могу (впрочем как и раньше). Они у меня все в одной точке начинаются! Понимаешь?

А теперь покажу, если сделать по-твоему. мне кажется оба варианта эквиваленты, но как же их расположить в форме прямоугольника! Вот в этом и загвоздка!

Код:

Graphics3D 640,480,16,2
Type track
Field obj[10]
End Type
;Ñîçäàåì îðèãèíàëüíû êóá
OriginalTrack=CreateCube()
ScaleEntity OriginalTrack,.025,.025,.025
HideEntity OriginalTrack
 
For a=0 To 9;äåëàåì 10 êóáèêîâ, êîòîðûå íóæíî ðàññòàâèòü ïî-÷åëîâå÷åñêè
t.track=New track
t\obj[a]=CopyEntity (originalTrack)
 
RotateEntity t\obj[a],0,0,0
PositionEntity t\obj[a],-1,-.25,.6
SetAnimKey t\obj[a],0
RotateEntity t\obj[a],0,0,0
PositionEntity t\obj[a],-1,.25,.6
SetAnimKey t\obj[a],60
RotateEntity t\obj[a],0,0,0
PositionEntity t\obj[a],1,.25,.6
SetAnimKey t\obj[a],120
RotateEntity t\obj[a],0,0,0
PositionEntity t\obj[a],1,-.25,.6
SetAnimKey t\obj[a],180
RotateEntity t\obj[a],0,0,0
PositionEntity t\obj[a],-1,-.25,.6
SetAnimKey t\obj[a],240
AddAnimSeq t\obj[a],240
Animate t\obj[a],1,1,0, i*24
Next
 
Const UPS=60
cam=CreateCamera()
RotateEntity cam,0,0,0
PositionEntity cam,0,0,-1
l=CreateLight()
period=1000/UPS
time=MilliSecs()-period
Repeat
Repeat
elapsed=MilliSecs()-time
Until elapsed
ticks=elapsed/period
tween#=Float(elapsed Mod period)/Float(period)
 
For k=1 To ticks
time=time+period
If KeyHit(1) End
UpdateWorld
Next
 
RenderWorld tween
Flip
Forever



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

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