| |||||||
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 |
| | #16 (permalink) |
| q00bar @ work Registriert seit: May 2010
Beiträge: 88
|
Hab' jetzt nach viel hin und her gestern Nacht noch etwas an meinem 1. Ansatz rumprobiert und mittlerweile ein (anscheinend) gut funktionierendes Ergebnis. Code: else
{
// Prüfen ob der Wurm mit den Seiten irgendwo gegenschlägt,
// dreht sich die vertikale Kraft um, inkl. Dämpfung
if(((wormHitTest(new Point(Worm(e.target).x - 10, Worm(e.target).y - 15)))&&(Worm(e.target).direction == "left")) || ((wormHitTest(new Point(Worm(e.target).x + 10, Worm(e.target).y - 15))))&&(Worm(e.target).direction == "right"))
Worm(e.target).VelocityX *= -0.5;
// Prüfen ob der Wurm mit dem Kopf irgendwo anschlägt,
// dadurch dreht sich die horizontale Kraft um, inkl. Dämpfung
if(wormHitTest(new Point(Worm(e.target).x, Worm(e.target).y - 20)))
Worm(e.target).VelocityY *= -0.5;
Worm(e.target).VelocityY += _curSettings.GRAVITY;
Worm(e.target).y += Worm(e.target).VelocityY;
Worm(e.target).x += Worm(e.target).VelocityX;
Worm(e.target).isFalling = true;
} ![]() Mfg LilaQ |
| | |
| | #17 (permalink) |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.238
|
hi, ich hab es jetzt nur überflogen, aber das einzige, was mir als mögliches problem auffällt ist das *=-.5 das könnte gelegentlich dazu führen, dass der wurm nicht weit genug zurückgesetzt wird und sich dann ping-pong-artig in die decke frisst. muss aber nicht zwangsläufig passieren, da du VelocityY nochmal um _curSettings.GRAVITY erhöhst. sollten wiedererwartend probleme auftauchen, musst du wohl daran ansetzen. ansonsten ist wie immer alles richtig, was das tut was es soll. mfg sx |
| | |
| | #18 (permalink) |
| q00bar @ work Registriert seit: May 2010
Beiträge: 88
|
Das ist gut zu hören ![]() Hatte die Werte ursprünglich auf *= -1; hab aber damit Probleme bekommen, diesen beschriebenen PingPong / Zittereffekt, und hab deswegen die Idee am Anfang zuerst schon wieder als zu simpel / nicht effizient genug eingestuft. Bis jetzt läuft es so ziemlich gut, werde mich nur nachher mal ransetzen und ausschauen wie es bei 1px dünnen Wänden und Decken ausschaut, ich denke mal da muss nich noch etwas nachbessern (Werde das gleiche Prinzip ja eh bei den ganzen Waffen brauchen müssen, um nicht bei voller Wurfgeschwindigkeit durch Wände werfen zu können). Mfg LilaQ |
| | |
| | #19 (permalink) |
| q00bar @ work Registriert seit: May 2010
Beiträge: 88
|
Sooo neue Aufgabe. Bevor ich da mit einem falschen Ansatz starte, wollte ich lieber mal posten / nachfragen was hier das sinnvollste wäre. Und zwar geht es um das "bouncen" von Waffen wie Granaten o.ä. Jeder der mal Worms gespielt hat, weiß bestimmt was ich meine. Wenn man eine Granate wirft, dann fällt diese nicht nur einfach auf den Boden, sondern hüpft noch hin und her, je nach Bodenbeschaffenheit / Steigung des Bodens. Generell würde ich wieder einen EventHandler für das Projektil machen, ihm eine Gravity geben etc. (das übliche Prozedere). Jetzt zu dem Teil wo ich mir nicht ganz sicher bin. Beim Auftreffen auf den Boden / Wand muss das Projektil ja per Einfallswinkel -> Ausfallswinkel abspringen. Also müsste ich ja erneut per HitTest auf das Mapobjekt prüfen. Ich würde es jetzt so machen, wie bei den Würmern, dass die Kräfte beim Auftreffen wieder umgekehrt werden (wie vor einigen Posts), nur mit der Änderung, dass die Kraft beim Fallen nicht sofort auf Null steht wenn es aufkommt, sondern dass sie wieder umgekehrt / gedämpft aufaddiert wird. Also im Prinzip den gleichen GravityHandler wie bei den Würmern, nur mit dem Unterschied bei vY. Kann man das Prinzip soweit absegnen oder gibt es da Probleme / bessere Lösungen? Danke euch schonmal ![]() Mfg LilaQ P.S.: Die Fortschritte kann man jetzt immer auf actionscript 3 – and other interesting stuf… | der BloQ nachverfolgen, poste sehr regelmäßig (nur vom 7. - 12. nicht, da hab ich kein Internet )
|
| | |
| | #20 (permalink) |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.238
|
ich denk das kann man zwar machen, aber instinktiv mein ich auch, dass granaten in dem fall ganz schön weit den berg hochspringen würden oder eben auch gar nicht, wenn du vX prinzipiell umkehrst. also ich persönlich fände eine lösung mit einfall=ausfallwinkel schon besser. ich weiß allerdings auch nicht mehr genau, wie das bei worms war. ich meine, da war auch viel zufall im spiel... wahrscheinlich, weil granaten nicht ball-rund sind. ![]() an deiner stelle würde ich es einfach mal so ausprobieren, wie du es beschrieben hast und falls notwendig ändern, bzw. das dann hinten anstellen. richtig wichtig ist ja erstmal, dass das ganze spielbar wird. dann kann man immer noch rumpfriemeln, wenn man das vorher bedacht hat und es sich nicht verbaut. ![]() mfg sx |
| | |
| | #21 (permalink) |
| q00bar @ work Registriert seit: May 2010
Beiträge: 88
|
Über das genau mit dem Einfalls- / Ausfallswinkel habe ich auch schon nachgedacht. Nur dafür müsste ich ja erneut beim Auftreffen den Slope an der aktuellen Stelle berechnen, schauen ob der Winkel größer als 45° ist, weil dann müsste vX ja umgekehrt werden etc. etc. Aber du hast wahrscheinlich recht, das ist eigentlich schon wieder zu detailverliebt momentan. Beschäftige ich mich wohl besser erst mit wenn sonst der Rest des Spiels steht. Also erstmal den "Spiel-Frame" vervollständigen, dann die restlichen Waffen, Mapthemes, Effekte, Texte usw. ^^ Dann werde ich jetzt mal mit meiner Funktion weitermachen, die immer auf den aktuellen Wurm, Projektil, Explosion etc. zentrieren soll, und stufenlos zoomen möglich machen soll. Ich meld mich wenn ich vor nem Problem stehen sollte ![]() Mfg LilaQ |
| | |
| | #22 (permalink) |
| q00bar @ work Registriert seit: May 2010
Beiträge: 88
|
Sooo, ein paar Wochen ins Land gegangen und viel geschafft bis jetzt. Noch 30 Tage bis zur Deadline und noch knapp 60 Aufgaben auf der To-Do-Liste. (Kann auf actionscript 3 – and other interesting stuff… | der BloQ alles nachverfolgt werden :>) Hab jetzt grad mal ne Frage zu der ich mir noch keine eindeutig gute Lösung zusammensuchen konnte. Und zwar möchte ich ein Bitmap oder Sprite (liegt je nach Zeitpunkt in beiden Typen vor), einmal abdunkeln und einmal komplett schwarz haben. Also alles was nicht transparent ist soll im ersten Fall einfach wesentlich dunkler dargestellt werden als das Original, und im zweiten Fall halt komplett ausschwärzen. Einfach einen Filter ansetzen scheint ja nicht zu funktionieren, zumindest habe ich keinen Filter entdeckt der sich dafür eignen würde?! Würde mich über einen hilfreichen Tritt in die Hüfte sehr freuen ![]() Mfg LilaQ |
| | |
| | #23 (permalink) |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.238
|
klingt doch stark nach der ColorTransform-klasse. da kannst du jeden kanal einzeln multiplizieren bzw. einen offset einstellen. mfg sx |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Collision Detection Problem | tomyh | ActionScript 3 | 0 | 17-06-2010 10:25 |
| Collision Detection Probleme | mirzahat | ActionScript 3 | 2 | 28-05-2010 03:22 |
| massen collision detection | _kweso | ActionScript 3 | 7 | 26-03-2010 13:57 |
| Collision Detection | FLASHStyler | ActionScript 3 | 2 | 03-09-2008 23:13 |
| ** Collision Detection ** | powl | ActionScript 1 | 7 | 31-01-2003 12:33 |