Ping Pong (Ball geht oft waagerecht nach oben)
Übersicht

![]() |
IzenBetreff: Ping Pong (Ball geht oft waagerecht nach oben) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe die sufu schon benutzt und dazu nichts gefunden...
Also: Code: [AUSKLAPPEN] Angle# = Rand(1, 359)
Ball\XPos = Ball\XPos + Cos(Angle#) * Speed# Ball\YPos = Ball\YPos - Sin(Angle#) * Speed# so soweit funzt es der ball geht zufällig in eine richtung (kollision etc habich schon alles) Nur hab ich das problem das er zwischendurch mal genau waagerecht nach oben geht (also unendlich oft hoch runter hoch runter...) Ich habe schon viel versucht aber ich krigs nicht hin Lösung: wenn der ball nach oben gehen will Angle# = Rand(1, 359) neu ausführen Nächstes Prob: Wie finde ich heraus das er nach oben gehen will |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo,
versuchs mal so: Code: [AUSKLAPPEN] Ball\XPos = Ball\XPos + Cos(Ball\Angle) * Speed#
Ball\YPos = Ball\YPos + Sin(Ball\Angle) * Speed# If Ball\XPos < 0 Or Ball\XPos > 680 Then Ball\Angle = 180 - Ball\Angle EndIf If Ball\YPos < 0 or Ball\YPos > 680 Then Ball\Angle = 360 - Ball\Angle EndIf das problem ist das du die gleiche angle für alle bälle benutzt, du musst wenn schon auch so machen: Ball\Angle ![]() Gruss Andreas |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sry, aber ich glaub net das Rand kommazahlen haben dürfen, soweit ich weiss musst du es mit Rnd machen.
beispiel: Rand(360) oder Rnd(0,359) Edit: wenn das dann immer noch net geht, dann musst du am anfang den befehl: SeedRnd MilliSecs() setzen wenn du es noch net getan hast. weil dieser befehl aktiviert den Zufalssgenerator ![]() Gruss Andreas |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ball\YPos und Ball\YPos müssen Floats sein!
Das sollte dein Problem lösen! |
||
[BB2D | BB3D | BB+]
|
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um erstmal grundsätzliches hier zu klären :
Waagerecht ist nicht hoch/runter sondern links/rechts! Senkrecht ist hoch/runter ! ![]() cheers |
||
![]() |
Izen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab jetz Ball\XPos und YPos zu floats gesetzt und Anstelle von Rand(1,359) Rnd(1,359) genommen und jetz gehts
Irgendwie ja peinlich bei solchen kleinigkeiten aber naja is halt mein erstes Spiel^^ |
||
![]() |
garret |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am Unterschied Rand() - Rnd() sollte es eigentlich nicht liegen. Rand(x,y) liefert ganze Zahlen zwischen x und y, Rnd(x,y) gebrochene. Wenn der Ball nicht senkrecht fliegen soll, darf der Winkel halt nicht 90 oder 270 Grad sein, denn dann wäre die Flugbahn ja parallel zur Y-Achse.
MfG garret |
||
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht) |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo Izen,
also, es sind normal 360 Grad, entweder machst du das so Rnd(0,359) oder Rnd(1,360), aber normal kennt man ja kein unterschied wenn ein Grad fehlt ![]() |
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
du musst einfach überprüfen ob der winkel waagerecht oder senkreht ist und wenn ja 5 addieren, subtrahieren oder einfach nen neuen winkel per zufall machen | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group