CoolBasic SDK

SetObjectOrbit

Include "cbGravitationPhysics.cb"

KUVAUS
Tämä funktio asettaa objektin kiertämään toista objektia eli määrittää tälle ympyrän muotoisen kiertoradan. Radan korkeus/säde määrittyy objektien etäisyyden mukaan.

Tämän funktion avulla teet toimivia aurinkokunta systeemejä. Jos et käytä tätä, etkä myöskään aseta planeetoille ym. alkunopeuksia, on erittäin todennäköistä, että kappaleet ajautuvat törmäyskurssille. Jos kappaleilla ei ole myöskään törmäystarkistusta, ne saattavat saada lähes äärettömän nopeuden pois tunnetusta galaksista.

Tätä funktiota ei periaatteessa tarvitse kutsua kuin kerran, painovoima pitää objektin radallaan. Huomaa kuitenkin, että jos systeemissä on paljon voimakas raskaita kappaleita, niiden painovoimat saattavat suistaa objetin radaltaan.

KÄYTTÖ
SetObjectOrbit(obj1, obj2, [suunta])
obj1 = Objekti, joka asetetaan kiertoradalle
obj2 = Objekti, jonka kiertoradalle obj1 asetetaan
suunta = Kierron suunta: -1 myötäpäivään ja 1 (oletus) vastapäivään

Katso myös: SetObjectSpeed

ESIMERKKI
Include "sdk/include/cbGravitationPhysics.cb"
SCREEN 800,600
sun = LoadObject("sdk/media/sun.png"): ObjectFloat sun, 33000
earth = LoadObject("sdk/media/earth.png"): ObjectFloat earth, 100
PositionObject earth, 300, 0
SetObjectOrbit(earth,sun)

Repeat
    UpdateSpace()
    DrawScreen
Forever