Code-Beispiel
Animation mit PUT
| Lizenz: | Erster Autor: | Letzte Bearbeitung: |
| k. A. | Lothar Schirm | 14.04.2008 |
Eine kleine Animation: Drei Monde umkreisen den SATURN
DIM AS ANY PTR Buffer1, Buffer2, Buffer3
DIM AS SINGLE x, y, pi, dphi1, dphi2, dphi3, phi1, phi2, phi3, r1, r2, r3, x1, _
y1, x2, y2, x3, y3
DIM AS INTEGER i
SCREEN 12
'Satelliten speichern:
'Roter Satellit:
Buffer1 = IMAGECREATE(32, 32)
CIRCLE Buffer1, (16, 16), 15, 4,,,,F
'Blauer Satellit:
Buffer2 = IMAGECREATE(42, 42)
CIRCLE Buffer2, (21, 21), 20, 9,,,,F
'Gruener Satellit:
Buffer3 = IMAGECREATE(36, 36)
CIRCLE Buffer3, (18, 18), 17, 2,,,,F
'Bild aufbauen:
LOCATE 29, 30
PRINT "Ende: Beliebige Taste"
'Sternenhimmel zeichnen:
RANDOMIZE TIMER
FOR i = 0 TO 1000
x = 640 * RND(1)
y = 480 * RND(1)
PSET (x, y)
NEXT i
'Saturn-Himmelskoerper zeichnen (gelb):
CIRCLE (320, 240), 75, 14,,,,F
'Saturn-Ringe zeichnen (braun):
pi = 3.141593
FOR i = 0 TO 10 STEP 2
CIRCLE (320, 240), 150 + 3 * i, 6, (0.66 - .003 * i) * pi, (0.34 + .003 * i) * pi, .2
NEXT i
'Parameter fuer Satellitenbahnen:
dphi1 = 2 * pi / 500
dphi2 = .7 * dphi1
dphi3 = .3 * dphi1
r1 = 195
r2 = 210
r3 = 230
phi1 = 0
phi2 = 2 * pi / 3
phi3 = 4 * pi / 3
DO
'Speicherinhalte (Satelliten) in Bild einfuegen:
x1 = 320 + r1 * SIN(phi1)
y1 = 240 + 0.6 * r1 * COS(phi1)
PUT(x1 - 15, y1 - 15), Buffer1, XOR
x2 = 320 + r2 * SIN(phi2)
y2 = 240 + 0.7 * r2 * COS(phi2)
PUT(x2 - 20, y2 - 20), Buffer2, XOR
x3 = 320 + r3 * SIN(phi3)
y3 = 240 + 0.8 * r3 * COS(phi3)
PUT(x3 - 25, y3 - 17), Buffer3, XOR
'Satelliten durch nochmaliges Einfuegen des Speicherinhaltes loeschen:
SLEEP 5
PUT(x1 - 15, y1 - 15), Buffer1, XOR
PUT(x2 - 20, y2 - 20), Buffer2, XOR
PUT(x3 - 25, y3 - 17), Buffer3, XOR
phi1 = phi1 + dphi1
phi2 = phi2 + dphi2
phi3 = phi3 + dphi3
LOOP WHILE INKEY = ""
IMAGEDESTROY Buffer1
IMAGEDESTROY Buffer2
IMAGEDESTROY Buffer3
| Zusätzliche Informationen und Funktionen | |||||||
|---|---|---|---|---|---|---|---|
|
|
||||||





FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
14.04.2008
Bearbeiten
Versionen