Hallo Miteinander.
Ich bin wie ihr einem vorhergehenden Post entnehmen könnt, an meinem ersten Jump'n Run Spiel im GMS.
Ich benutze DND, scripte also nichts selbst. Benutze aber variablen.
Habe nun 3 Dinge die einfach nicht funktionieren. Dazu natürlich Fragen. Hoffe man kann das DND nachvollziehen.
1. Frage
Mein läuft, springt und duckt sich. Jedoch passiert es immer wieder, dass er im fallen oder im Sprung an einer Wand kleben bleibt, man nochmals Sprung drückt und er weiterspringt.
Auch dass er in einer Wand stecken bleibt. Zuerst dachte ich, es liegt an der kollisionsabfrage und habe die collisionsmaske auf ganzes bild (alle bilder sind 32x32) gesetzt, hatte aber dann das gleiche problem. Muss also irgendie am Code liegen resp. dem DND:
Im Step-Event des Objektes setze ich den Vertikalen Speed auf 2, Relativ. So dass man immer an Fallgeschwindigkeit zunimmt.
Danach setze ich eine "if there is a collision at position" auf x=hspeed und nur mit solid objects.
Hier wird ein block gestartet, bei der Move to contact mit maxspeed 5 against solid objects und hor. speed=0.
Das gleiche "if there is a collision at position" auf vspeed inkl block von vorher auch auf vspeed.
somit habe ich eine anziehungskraft und die kollision zuerst auf horizontal, danach auf vertikal.
gehen wir zum event keyboard links: hier überprüfe ich anhand "if an expression is true" ob hspeed > -5 ist, wenns so ist wird horspeed auf -0.8 gesetzt, relativ.
das gleiche nochmals in event links_gepresst, nur mit animation zum laufen. das umgekehrte in rechts und rechts_gepresst. also der player kann nun links und rechts laufen.
klingt meiner ansicht alles sehr logisch und sollte nicht zu "stehen in der luft, an der wand" führen... oder mache ich da einen gedankenfehler?
2. Frage
Leitern. Im Spiel habe ich schon einen Sprung, deshalb hab ich das ganze wohl etwas umständlich angegangen. jetzt geht der Charakter zwar Leitern hoch, jedoch steigt er sie auch gleich wieder hinunter wenn man die Taste gedrückt hält. Auch bleibt er manchmal einfach stehen in der Leiter (siehe vorhergehende Frage), eventuell weil er an der Wand angekommen ist. DND lautet so:
im event keyboard oben_gedrückt wird überprüft ob der spieler unter sich solid objects hat, nur dann wird beides ausgeführt (grosser block).
if there is an object on the position (leiter), relativ dann:
vspeed-3, relativ. animation für nach oben gehen.
if there is NOT an object on the position (leiter), relativ dann:
set vspeed-18 (wird ja dann siehe vorher von vspeed im step runtergeholt). jump-animation anzeigen.
er sollte oben an der leiter einfach stehenbleiben oder sich nicht weiter bewegen, stattdessen macht er eine fliessende bewegung ins umgekehrte: nach unten. an was liegts?
3. Frage
Beim laufen, wenn man springt und einfach weiterläuft (sprich die lauftasten nie loslässt, gelegentlich springen drückt) sieht der charakter nach dem ersten sprung beim laufen aus wie im springen. springen wird mit oben_gedrückt realisiert, die ani sollte doch wechseln sobald man nicht mehr oben drückt. kapier nicht, wieso das sich das nicht ändert.
ja. die wichtigste frage wäre die erste. ist mir klar, dass dies kurz eindenkzeit benötigt, wäre aber recht froh wenn mir da jemand weiterhilft. vieles vom dnd-code habe ich jetzt weggelassen, zb verändert die spielfigur je nachdem auf was für felder sie steht ihre klamottenfarbe (spritewechsel) und es gibt das einte oder andere coole objekt (trampolin, laserkanone für 2 schüsse usw). bin nun schon seit 10 Stunden dran, habe auch etliches ausprobiert. besonders am anfang mit einem neuen programm ist das ein bisschen zum haare raufen sage aber schon mal danke im voraus, für die dies besser wissen und mir helfen
Ich bin wie ihr einem vorhergehenden Post entnehmen könnt, an meinem ersten Jump'n Run Spiel im GMS.
Ich benutze DND, scripte also nichts selbst. Benutze aber variablen.
Habe nun 3 Dinge die einfach nicht funktionieren. Dazu natürlich Fragen. Hoffe man kann das DND nachvollziehen.
1. Frage
Mein läuft, springt und duckt sich. Jedoch passiert es immer wieder, dass er im fallen oder im Sprung an einer Wand kleben bleibt, man nochmals Sprung drückt und er weiterspringt.
Auch dass er in einer Wand stecken bleibt. Zuerst dachte ich, es liegt an der kollisionsabfrage und habe die collisionsmaske auf ganzes bild (alle bilder sind 32x32) gesetzt, hatte aber dann das gleiche problem. Muss also irgendie am Code liegen resp. dem DND:
Im Step-Event des Objektes setze ich den Vertikalen Speed auf 2, Relativ. So dass man immer an Fallgeschwindigkeit zunimmt.
Danach setze ich eine "if there is a collision at position" auf x=hspeed und nur mit solid objects.
Hier wird ein block gestartet, bei der Move to contact mit maxspeed 5 against solid objects und hor. speed=0.
Das gleiche "if there is a collision at position" auf vspeed inkl block von vorher auch auf vspeed.
somit habe ich eine anziehungskraft und die kollision zuerst auf horizontal, danach auf vertikal.
gehen wir zum event keyboard links: hier überprüfe ich anhand "if an expression is true" ob hspeed > -5 ist, wenns so ist wird horspeed auf -0.8 gesetzt, relativ.
das gleiche nochmals in event links_gepresst, nur mit animation zum laufen. das umgekehrte in rechts und rechts_gepresst. also der player kann nun links und rechts laufen.
klingt meiner ansicht alles sehr logisch und sollte nicht zu "stehen in der luft, an der wand" führen... oder mache ich da einen gedankenfehler?
2. Frage
Leitern. Im Spiel habe ich schon einen Sprung, deshalb hab ich das ganze wohl etwas umständlich angegangen. jetzt geht der Charakter zwar Leitern hoch, jedoch steigt er sie auch gleich wieder hinunter wenn man die Taste gedrückt hält. Auch bleibt er manchmal einfach stehen in der Leiter (siehe vorhergehende Frage), eventuell weil er an der Wand angekommen ist. DND lautet so:
im event keyboard oben_gedrückt wird überprüft ob der spieler unter sich solid objects hat, nur dann wird beides ausgeführt (grosser block).
if there is an object on the position (leiter), relativ dann:
vspeed-3, relativ. animation für nach oben gehen.
if there is NOT an object on the position (leiter), relativ dann:
set vspeed-18 (wird ja dann siehe vorher von vspeed im step runtergeholt). jump-animation anzeigen.
er sollte oben an der leiter einfach stehenbleiben oder sich nicht weiter bewegen, stattdessen macht er eine fliessende bewegung ins umgekehrte: nach unten. an was liegts?
3. Frage
Beim laufen, wenn man springt und einfach weiterläuft (sprich die lauftasten nie loslässt, gelegentlich springen drückt) sieht der charakter nach dem ersten sprung beim laufen aus wie im springen. springen wird mit oben_gedrückt realisiert, die ani sollte doch wechseln sobald man nicht mehr oben drückt. kapier nicht, wieso das sich das nicht ändert.
ja. die wichtigste frage wäre die erste. ist mir klar, dass dies kurz eindenkzeit benötigt, wäre aber recht froh wenn mir da jemand weiterhilft. vieles vom dnd-code habe ich jetzt weggelassen, zb verändert die spielfigur je nachdem auf was für felder sie steht ihre klamottenfarbe (spritewechsel) und es gibt das einte oder andere coole objekt (trampolin, laserkanone für 2 schüsse usw). bin nun schon seit 10 Stunden dran, habe auch etliches ausprobiert. besonders am anfang mit einem neuen programm ist das ein bisschen zum haare raufen sage aber schon mal danke im voraus, für die dies besser wissen und mir helfen