Тема: Гусеница
Показать сообщение отдельно
Старый 20.01.2007, 23:10   #33
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
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
(Offline)
 
Ответить с цитированием