hello,
finaly i found some time to test bmax.
before i used b+, but as i must see lots changed.
so here some code that doesn't work as i thought it would.
Incbin "player1.png"
Incbin "player2.png"
Graphics 640,480,,2
Global Anim1 = LoadAnimImage("incbin::player1.png",48,64,0,10)
Global Anim2 = LoadAnimImage("incbin::player2.png",48,64,0,10)
Type AniFig
Field Frame
Field X
Field Y
Field Speed
Field GFX
Field Timer1
Field Name$
Field RandomCase
Field Direction
Field Steps
Field PathX1
Field PathY1
Field PathX2
Field PathY2
End Type
Global Fig:AniFig
Fig = New Anifig
Fig.X = 150
Fig.Y = 370
Fig.Frame = 0
Fig.Speed = 50
Fig.GFX = Anim1
Fig.Timer1 = MilliSecs()
Fig.Name$ = "Heidi"
'SeedRnd MilliSecs()
Fig.RandomCase = Rnd(0,10000)
Fig.Direction = 1
Fig.Steps = 0
MidHandleImage Fig.GFX
Fig.PathX1=100
Fig.PathY1=32+Fig.Y
Fig.PathX2=400
Fig.PathY2=32+Fig.Y
'Delay 235
Fig = New Anifig
Fig.X = 350
Fig.Y = 290
Fig.Frame = 0
Fig.Speed = 100
Fig.GFX = Anim2
Fig.Timer1 = MilliSecs()
Fig.Name$ = "Jolly"
SeedRnd MilliSecs()
Fig.RandomCase = Rnd(0,10000)
Fig.Direction = 1
Fig.Steps = 0
MidHandleImage Fig.GFX
Fig.PathX1=200
Fig.PathY1=32+Fig.Y
Fig.PathX2=600
Fig.PathY2=32+Fig.Y
MainLoop()
Function MainLoop()
SetClsColor 255,200,10
While Not KeyHit(27)
Cls
Animate()
Flip
Wend
End Function
Function Animate()
For Fig:Anifig = EachIn AniFig
SetColor 0,0,0
DrawText Fig.Name,Fig.X,Fig.Y - 33
SetColor 255,0,0
DrawLine Fig.PathX1,Fig.PathY1,Fig.PathX1,Fig.PathY2-30
DrawLine Fig.PathX2,Fig.PathY1,Fig.PathX2,Fig.PathY2-30
DrawLine Fig.PathX1,Fig.PathY1,Fig.PathX2,Fig.PathY2
SetColor 255,255,255
If fig.Direction = 1 Then SetScale(1,1)
If fig.Direction = 0 Then SetScale(-1,1)
'SetRotation(180)
DrawImage(Fig.GFX,Fig.X,Fig.Y,Fig.Frame)
SetRotation(0)
SetScale(1,1)
If Fig.Frame = 7 Then Fig.Frame = 0
If MilliSecs() > Fig.Timer1 + Fig.Speed Then
If Fig.X >= Fig.PathX2-12 Then
Fig.Direction = 0
End If
If Fig.X <= Fig.PathX1+12 Then
Fig.Direction = 1
End If
If Fig.Direction = 1 Then
Fig.X = Fig.X + 5
End If
If Fig.Direction = 0 Then
Fig.X = Fig.X - 5
End If
Fig.Steps = Fig.Steps +1
Fig.Frame = Fig.Frame +1
If Fig.Frame = 4 Then Fig.Frame = 5
Fig.Timer1 = MilliSecs()
End If
Next
End Function
can someone tell me please whats wrong in the line
For Fig:Anifig = EachIn AniFig
thanks
finaly i found some time to test bmax.
before i used b+, but as i must see lots changed.
so here some code that doesn't work as i thought it would.
Incbin "player1.png"
Incbin "player2.png"
Graphics 640,480,,2
Global Anim1 = LoadAnimImage("incbin::player1.png",48,64,0,10)
Global Anim2 = LoadAnimImage("incbin::player2.png",48,64,0,10)
Type AniFig
Field Frame
Field X
Field Y
Field Speed
Field GFX
Field Timer1
Field Name$
Field RandomCase
Field Direction
Field Steps
Field PathX1
Field PathY1
Field PathX2
Field PathY2
End Type
Global Fig:AniFig
Fig = New Anifig
Fig.X = 150
Fig.Y = 370
Fig.Frame = 0
Fig.Speed = 50
Fig.GFX = Anim1
Fig.Timer1 = MilliSecs()
Fig.Name$ = "Heidi"
'SeedRnd MilliSecs()
Fig.RandomCase = Rnd(0,10000)
Fig.Direction = 1
Fig.Steps = 0
MidHandleImage Fig.GFX
Fig.PathX1=100
Fig.PathY1=32+Fig.Y
Fig.PathX2=400
Fig.PathY2=32+Fig.Y
'Delay 235
Fig = New Anifig
Fig.X = 350
Fig.Y = 290
Fig.Frame = 0
Fig.Speed = 100
Fig.GFX = Anim2
Fig.Timer1 = MilliSecs()
Fig.Name$ = "Jolly"
SeedRnd MilliSecs()
Fig.RandomCase = Rnd(0,10000)
Fig.Direction = 1
Fig.Steps = 0
MidHandleImage Fig.GFX
Fig.PathX1=200
Fig.PathY1=32+Fig.Y
Fig.PathX2=600
Fig.PathY2=32+Fig.Y
MainLoop()
Function MainLoop()
SetClsColor 255,200,10
While Not KeyHit(27)
Cls
Animate()
Flip
Wend
End Function
Function Animate()
For Fig:Anifig = EachIn AniFig
SetColor 0,0,0
DrawText Fig.Name,Fig.X,Fig.Y - 33
SetColor 255,0,0
DrawLine Fig.PathX1,Fig.PathY1,Fig.PathX1,Fig.PathY2-30
DrawLine Fig.PathX2,Fig.PathY1,Fig.PathX2,Fig.PathY2-30
DrawLine Fig.PathX1,Fig.PathY1,Fig.PathX2,Fig.PathY2
SetColor 255,255,255
If fig.Direction = 1 Then SetScale(1,1)
If fig.Direction = 0 Then SetScale(-1,1)
'SetRotation(180)
DrawImage(Fig.GFX,Fig.X,Fig.Y,Fig.Frame)
SetRotation(0)
SetScale(1,1)
If Fig.Frame = 7 Then Fig.Frame = 0
If MilliSecs() > Fig.Timer1 + Fig.Speed Then
If Fig.X >= Fig.PathX2-12 Then
Fig.Direction = 0
End If
If Fig.X <= Fig.PathX1+12 Then
Fig.Direction = 1
End If
If Fig.Direction = 1 Then
Fig.X = Fig.X + 5
End If
If Fig.Direction = 0 Then
Fig.X = Fig.X - 5
End If
Fig.Steps = Fig.Steps +1
Fig.Frame = Fig.Frame +1
If Fig.Frame = 4 Then Fig.Frame = 5
Fig.Timer1 = MilliSecs()
End If
Next
End Function
can someone tell me please whats wrong in the line
For Fig:Anifig = EachIn AniFig
thanks