Here is a different way of making something move in a circle. It is written in blitzbasic/blitz3d code as I don't have blitzmax but I am sure it could easily be ported (it is only a few lines after all)
Graphics 800,600,32,2
SetBuffer BackBuffer()
planetx#=400
planety#=300
moonx#=400
moony#=250
moonax#=(planetx-moonx)/250.0
moonay#=(planety-moony)/250.0
moonvx#=3.0
moonvy#=0
Repeat
Cls
moonx=moonx+moonvx*0.5+(moonvx+moonax*0.5+(planetx-moonx)/1024.0)*0.5
moony=moony+moonvy*0.5+(moonvy+moonay*0.5+(planety-moony)/1024.0)*0.5
moonvx=(moonvx+moonax*0.5+(planetx-moonx)/1024.0)
moonvy=(moonvy+moonay*0.5+(planety-moony)/1024.0)
moonax#=(planetx-moonx)/512.0
moonay#=(planety-moony)/512.0
Color 0,100,200
Oval planetx,planety,4,4,1
Color 100,100,100
Oval moonx,moony,2,2,1
dist=((planetx-moonx)^2+(planety-moony)^2)
If dist>maxdist Then maxdist=dist
Color 255,255,255
Text 0,0,maxdist
Flip
Until KeyDown(1)
|