Veröffentlicht 25. Juni 200916 j He Leute, ich hab angefangen mit Greenfoot ein Pong Spiel zu programmieren. Also einfach Links ein balken, rechts ein balken und ein ball der herumfährt. Das funktioniert so weit auch ganz gut, (habs soweit getestet) der Ball prallt an den Wänden oben und unten ab, habe aber nun das problem mit den Winkeln. Denn: wenn der Ball auf einen Balken trifft sollte er nicht einfach zurückgeworfen werden (so wie er es im Moment macht) sondern eben abhängig davon wo er hrkommt und wo er auf dem Handler aufkommt (also oberhalb/unterhalb des mittelpunkts) wie ichd as mache hab ich mir auch schon überlegt, nur habe ich das Problem das ich bei den x und y Konstanten keine Kommastellen hernemen kann (also kann ich den Ball nur um 1,2,3 y weiter rauf/runter setzen, auf der x-Achse fliegt r Konstant mit +1). So sind keine Winkel zwischen 0 und 45° möglich. Hoffe ihr könnt mir da helfen! mfg
25. Juni 200916 j Ich gebe Dir mal den Hinweis zu Normalenvektor ? Wikipedia die Du auf Deinen Balken stellst und dann zu Snelliussches Brechungsgesetz ? Wikipedia wobei Du die Materialkonstante als 1 betrachten solltest. Das Problem ist für Deinen Fall recht einfach mit elementarer Trigonometrie zu lösen. Als weiter Hinweis solltest Du nicht mit den Pixelpositionen rechnen, sondern mit einer Darstellung in der Form: Ortsvektor + Lambda * Richtungsvektor. Als Ortsvektor nimmst Du immer den letzten Schnittpunkt von Ball und Balken / Rand und eben der Richtungsvektor (optimal nicht normiert) gibt dann Richtung und die Länge (Norm des Vektors) die Geschwindigkeit an. Du hast eine definierte Startposition, von der die Berechnung startet. Wenn es etwas schwieriger werden sollte, dann veränderst Du den Winkel des Richtungsvektors zur Normalen um einen zufälligen Faktor, damit könntest Du z.B. Unebenheiten der Oberflächen simulieren Phil Bearbeitet 25. Juni 200916 j von flashpixx
25. Juni 200916 j He, danke! Hab jetzt auch nen Tipp bekommen der mir geholfen hat das Prob zu lösen, nämlich einfach nicht nach jedem durchlauf x zu erhöhen, sondern eben nur dann wenn y über 1 ist, also z.B. bei jedem 5ten mal, leider hab ich grad das problem mit grenfoot das ich die world und die actors zwar compilen kann, aber wenn ich auf run drücke passiert genau garnix...
25. Juni 200916 j So, nach neustart ghts wieder, funktioniert soweit ganz gut! Thx für die Wikipedia Hinweise! Das mit den Vektoren werd ich jetzt mal versuchen! Danke Bearbeitet 25. Juni 200916 j von alfray
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.