Something like this?
set display mode 1280, 1024, 32
sync on
sync rate 0
backdrop on
color backdrop 0
hide mouse
#constant W 20.0
#constant H 20.0
#constant SPEED_FACTOR 2.0
Type Coord
x#
y#
z#
EndType
Type EnemyData
Speed as Coord
Pos as Coord
EndType
#constant EnemyCount 10
Dim Enemies(EnemyCount) as EnemyData
`Make Enemy 1
Enemies(1).Pos.x# = rnd(W*0.5) - (W*0.5)
Enemies(1).Pos.y# = 0
Enemies(1).Pos.z# = rnd(H*0.5) - (H*0.5)
make object cube 1, 1
for i = 2 to EnemyCount
Enemies(i).Pos.x# = Enemies(1).Pos.x#
Enemies(i).Pos.y# = 0
Enemies(i).Pos.z# = Enemies(1).Pos.z#
make object cube i, 1
next i
`null = make vector2(1)
autocam off
position camera 0, 20, 0
point camera 0,0,0
frameTime# = 1.0
startTime = timer()
do
frameTime# = (frameTime# * 0.8) + ((timer() - startTime) * 0.2)
startTime = timer()
inc Enemies(1).Pos.x#, mousemovex() * 0.1
inc Enemies(1).Pos.z#, mousemovey() * -0.1
`Calculate speeds
for i = 2 to EnemyCount
Enemies(i).Speed.x# = (Enemies(i-1).Pos.x# - Enemies(i).Pos.x#) * SPEED_FACTOR
Enemies(i).Speed.z# = (Enemies(i-1).Pos.z# - Enemies(i).Pos.z#) * SPEED_FACTOR
text 10, i * 20, "sX:" + str$(Enemies(i).Speed.x#) + ", sY:" + str$(Enemies(i).Speed.z#) + ", pX:" + str$(Enemies(i).Pos.x#) + ", pY:" + str$(Enemies(i).Pos.z#)
next i
`Calculate Positions, needs to be done after...
for i = 1 to EnemyCount
inc Enemies(i).Pos.x#, Enemies(i).Speed.x# * frameTime# * 0.001
inc Enemies(i).Pos.z#, Enemies(i).Speed.z# * frameTime# * 0.001
position object i,Enemies(i).Pos.x#, Enemies(i).Pos.y#, Enemies(i).Pos.z#
next i
sync
loop
??
My Website:
