Logik Problem
Verfasst: 14.08.2009 18:38
Moin
Ich hänge gerade bei einer kleinen Animation fest....

Blauer Rahmen = Screen
Roter Punkt = Kugel
Pfeil = Bewegungs richtung
Zahlen = X / Y Achse
_________________________________
Ich möchte also das die Roten Punkte immer außerhalb meines Screen respwanen.
Das ist soweit auch kein Problem.
Damit sind ja alle Kugeln überall außerhalb des Screen verteilt.
Nun kommt aber die Bewegung ins Spiel.
Das ganze soll aber Zufählig ablaufen, sie sollen sich nur über den Screen
bewegen (egal wie lange).
Und genau hier ist ist mein Problem.
Ich hab es über eine 2weitere X und Y Punkte versucht. (Diese hab ich
oben im Code wegelasen, diese beiden Punkte liegen in kompett gegengesetzter Richtung)
So überprüfe ich ob sich die Punkte noch bewegen sollen.
Kann mir jemand sagen wie ich sowas am besten machen könnte ?
Oder wo mein Fehler liegt.
Im Grunde sollen einfach nur Punkte über den Bildschrim wandern und das
eben in zufähliger Richtung.
Bestimmt kennt einer von euch Spiele wo man ein Raumschiff ist und Metorieden bewegen sich auf einen zu und man muss diese Zerballern.
Ich brauche sowas für die Berechnung für die Meteroiden wege.
Z.b Asteroids & Deluxe wäre so ein Spiel
http://www.goriya.com/flash/asteroids/asteroids.shtml
Würde mich rießig freuen!
P.s falls jemand ne gutte idee für die Überschrift hat nehme ich sie gerne an.
Ich hänge gerade bei einer kleinen Animation fest....

Blauer Rahmen = Screen
Roter Punkt = Kugel
Pfeil = Bewegungs richtung
Zahlen = X / Y Achse
_________________________________
Ich möchte also das die Roten Punkte immer außerhalb meines Screen respwanen.
Das ist soweit auch kein Problem.
Code: Alles auswählen
Bullet()\z.l = Random(3)
If Bullet()\z.l = 0
Bullet()\x.l = Random(640)
Bullet()\y.l = -100
ElseIf Bullet()\z.l = 1
Bullet()\x.l = Random(640)
Bullet()\y.l = 740
ElseIf Bullet()\z.l = 2
Bullet()\x.l = -100
Bullet()\y.l = -Random(640)
ElseIf Bullet()\z.l = 3
Bullet()\x.l = 740
Bullet()\y.l = -Random(640)
EndIf
Nun kommt aber die Bewegung ins Spiel.
Das ganze soll aber Zufählig ablaufen, sie sollen sich nur über den Screen
bewegen (egal wie lange).
Und genau hier ist ist mein Problem.
Ich hab es über eine 2weitere X und Y Punkte versucht. (Diese hab ich
oben im Code wegelasen, diese beiden Punkte liegen in kompett gegengesetzter Richtung)
So überprüfe ich ob sich die Punkte noch bewegen sollen.
Code: Alles auswählen
ForEach Bullet()
DisplayTransparentSprite(1, Bullet()\x.l, Bullet()\y.l)
If Not Bullet()\x.l = Bullet()\xx.l
If Bullet()\z.l = 0 Or Bullet()\z.l = 2
Bullet()\x.l + Bullet()\speed.l
Else
Bullet()\x.l-Bullet()\speed.l
EndIf
EndIf
If Not Bullet()\y.l = Bullet()\yy.l
If Bullet()\z.l = 0 Or Bullet()\z.l = 2
Bullet()\y.l-Bullet()\speed.l
Else
Bullet()\y.l + Bullet()\speed.l
EndIf
EndIf
Next
Oder wo mein Fehler liegt.
Im Grunde sollen einfach nur Punkte über den Bildschrim wandern und das
eben in zufähliger Richtung.
Bestimmt kennt einer von euch Spiele wo man ein Raumschiff ist und Metorieden bewegen sich auf einen zu und man muss diese Zerballern.
Ich brauche sowas für die Berechnung für die Meteroiden wege.
Z.b Asteroids & Deluxe wäre so ein Spiel
http://www.goriya.com/flash/asteroids/asteroids.shtml
Würde mich rießig freuen!
P.s falls jemand ne gutte idee für die Überschrift hat nehme ich sie gerne an.