• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-07-2010, 16:59   #16 (permalink)
q00bar @ work
 
Benutzerbild von LilaQ
 
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;
			}
Ob das jetzt die Musterlösung ist, weiß ich nicht wirklich. Falls es da was gibt was man offensichtlich besser machen könnte, immer raus damit

Mfg
LilaQ
LilaQ ist offline   Mit Zitat antworten
Alt 25-07-2010, 19:36   #17 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
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
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 25-07-2010, 23:19   #18 (permalink)
q00bar @ work
 
Benutzerbild von LilaQ
 
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
LilaQ ist offline   Mit Zitat antworten
Alt 03-08-2010, 05:10   #19 (permalink)
q00bar @ work
 
Benutzerbild von LilaQ
 
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 )
LilaQ ist offline   Mit Zitat antworten
Alt 03-08-2010, 20:16   #20 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
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
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 03-08-2010, 22:00   #21 (permalink)
q00bar @ work
 
Benutzerbild von LilaQ
 
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
LilaQ ist offline   Mit Zitat antworten
Alt 19-08-2010, 20:41   #22 (permalink)
q00bar @ work
 
Benutzerbild von LilaQ
 
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
LilaQ ist offline   Mit Zitat antworten
Alt 20-08-2010, 06:43   #23 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
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
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 20-08-2010, 16:08   #24 (permalink)
q00bar @ work
 
Benutzerbild von LilaQ
 
Registriert seit: May 2010
Beiträge: 88
Danke shin, genau das was ich gesucht habe
LilaQ ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:38 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele