| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: May 2008
Beiträge: 6
| Flipper - Anfänger - AS3
Guten Tag, ich bin Student und habe daher immer wieder die Chance - oder sollte ich sagen die Katastrophe - in Projekten neue Dinge herauszufinden. Dieses Semester geht es um das Programmieren der Physik eines Flippers. Da mein Vorwissen sich auf Java und C++ beschränkt, ist die Verknüpfung des Codes mit den Bildern noch ausgesprochen holprig. Es haben sich mehrere Fragen herausgestellt, die ich leider nicht beantworten kann, die meisten sind Flash Verständnisfragen, allerdings habe ich auch ein paar Fragen dabei, die ich hier mitstelle, weil ich in dieser Community von gutem logischen Verständnis ausgehe und daher eure Meinung schätzen würde. Die Fragen: 1. Welche Möglichkeiten gibt es, in Flash eine Kollision zu erkennen? (Objektkollision, Pixelweiser Vergleich, aber noch weitere?) 2. Wenn die "reale" Kollision zwischen zwei Bildern stattfindet, wie gehe ich am Besten damit um? (Die Kugel ist dann ja eigentlich schon ein wenig in der Ebene, von der sie abspringen sollte, wenn man diesen Punkt ignorieren würde. Wie sorge ich also dafür, die Richtung der Kugel zu ändern und den neuen Punkt zu bestimmen) 3. Was kann man tun, um eine Kollision zu erkennen, wenn die Kollision zwischen zwei Bildern, allerdings in keinem der beiden Bilder ist? (Eine Kugel fliegt an einem Bumper vorbei, würde ihn touchieren, allerdingsist der nächste "Sprung" so weit, dass die Kollision halt nur zwischen den Bildern wär.) 4. Wie mache ich alles AS3 kompatibel? (Nur um nochmal meine Vorgaben in Erinnerung zu rufen) 5. Sollte man den maximalen Speed der Kugel eventuell Beschränken? 6. Wie sollte man die Reibung am Besten einbauen? (permanente Geschwindigkeitsverringerung?) 7. Wie sollte man die Kraft der Flipperarme am Besten berechnen? Kann man den beschleunigten Flipperarm vom nicht beschleunigten Unterscheiden? So, ich bin dann erstmal durch, ich setz mich noch hin um die Vektorielle Richtungsänderung bei Kollision zu algorithmieren. Das schaffe ich aber sicher alleine ![]() Also, ich hoffe das Post ist nach eurer Zufriedenheit, wenn an der Form des Posts oder dem Inhalt etwas auszusetzen ist, weißt mich bitte darauf hin, ich lerne gerne. Danke schonmal fürs lesen. Ich wär auch Dankbar für code, wenn ihr Flipper habt, die ihr einst programmiert hattet. Sonst muss ich mir halt selbst meine Finger wundtippen, auch nicht weiter schlimm, ich kann nur vieles in Flash noch nicht wirklich greifen. Also, nochmals: Dank für Hilfe! |
| | |
| | #2 (permalink) |
| Der Wunderhund Registriert seit: Jun 2002 Ort: Hattingen
Beiträge: 10.515
|
Hallo und Willkommen im Flashforum. Schau Dich mal hier um: http://lab.andre-michelle.com/tag/physics/ V.a. die Revive-Physics-Engine könnte interessant für Dich sein. gruß, gaspode |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: May 2008
Beiträge: 6
|
Danke, werde ich gleich mal tun. edit: Wow, eine sehr gute Quelle, sehr umfangreich und beantwortet wohl die meisten meiner Fragen. Ich werde das Wochenende wohl brauchen, um alles zu verstehen. Wird aber sicherlich eine voranbringende Zeit. Ich bin natürlich für alle weiteren Antworten/ Ideen noch aufgeschlossen und werde zumindest ein YouTube-Video von meinem Ergebnis hier verlinken, wenn es fertig ist. (und zwischendrin wahrscheinlich schon mehrmals nachfragen, wenn etwas für mich doch zu komliziert ist.) Geändert von gozza (29-05-2008 um 11:51 Uhr) |
| | |
| | #4 (permalink) |
| \x3a\x6f\x29 Registriert seit: Apr 2004 Ort: paris
Beiträge: 806
|
Hallo Gozza, ich habe mit André an der Revive gearbeitet und würde dir davon _abraten_ sie in einem Flipper zu verwenden. Die Revive Engine nutzt "Dynamic Intersections" -- d.h. Objekte können theoretisch unendlich schnell werden und die Kollisionen werden trotzdem noch sauber aufgelöst. Das Problem dabei ist nur, dass es sehr schwierig ist Objekte von höherer Komplexität einzubauen, oder sich bewegende Dinge. Wir haben auch einen Flipper mal ausprobiert, aber die Gleichung der Teile, die die Kugel wieder hoch schießen war schon sehr komplex und hat keinen Spaß mehr gemacht. Ich würde dir daher eher dazu raten PopShapes (auch von André) anzuschauen, weil das eine traditionelle Engine ist. Deine Fragen beziehen sich für mich nicht wirklich auf Flash. Wenn du einen Flipper bauen willst solltest du auf jeden Fall deine Kollisionen schon mathematisch auflösen. Du wirst wie auch in jeder anderen Sprache auf Probleme stoßen wie eine Kugel die durch eine Wand durchfliegen kann, wenn sie zu schnell wird. Das hast du aber auch mit C++. |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: May 2008
Beiträge: 6
|
Ok, ich werde mich durch beide durcharbeiten - Ich weiß noch nicht, wie groß das Problem wird, dass in den PopShades kein Kreis ist. werde ich noch sehen, ich wollte die source eh ja nur als Verständnisvorlage nehmen - muss also dann beide vermischen. Ich dachte, die möglichen Kollisionen zu klären und so weiter wär für mich schwer, aber die kann ich ja nun aus dem Code entnehmen, ihr habt mir auf jeden Fall schon riesig geholfen, danke !! Ich wusste halt nicht, wie ich das sonst machen kann. Also nochmal Danke. (Schade, dass keine Kommentare in dem Code stehen, aber so bin ich auch schon unglaublich erleichtert.) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: May 2008
Beiträge: 6
|
Ok, ich glaube, ich verstehe den Code, leider bin ich grade nicht in der Lage ihn mit Flash - nach leichten änderungen zum Verständnis - auszuführen. Ich will euch nicht mit Fragen belästigen wie "Ok, warum zwei Ordner und wie nun. Man hat mir gesagt, ich solle im ersten Frame ein Objekt der Main Klasse erzeugen. Es wird mir dann aber mitgeteilt, dass ein "Zugriff auf eine Methode eines null-Objektverweis nicht Möglich ist." Ich werde mich versuchen schnell durch die damit zusammenhängenden Grundlagen zu wurschteln. Oder hat das irgendie mit dieser Source zu tun ? Sorry für dämliche Fragen, aber ich finde nichts verwendbares in der Hilfe - also ob ich auch addChild() nutzen ? Laut Hilfe kann der Fehler 1009 auftreten, wenn man ein Sprite objekt (was die main ja ist/extended) nicht auf die Bühne geholt hat. Ich fühle mich grade ein bisschen unwürdig, aber vielleicht könnte ihr mit 3-4 Zeilen ein Problem lösen, an dem ich schon wieder Stunden sitze. (lesen, suchen, lesen, versuchen, scheitern, versuchen die Fehlernachricht auf Zeilen im Code abzubilden, verzweifel, erstmal was essen, Beachvolleyball nicht zusagen ... wie das halt immer so ist.) |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: May 2008
Beiträge: 6
|
Also ich schätze Du meinst eigentlich eher den Code im Programm, der ist halt lediglich der heruntergeladene Code, von Andre - die Pop shapes, wobei ich die Testshapes und die Popshapes in einen Ordner zusammengefügt habe. Im ersten Frame der Flash datei ist der einzige Code, den ich schrieb: Code: import Main; var main : Main; main = new Main(); |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |