Gehfehler^^

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Agent Cat
Tastatursteuerer
Tastatursteuerer
Beiträge: 614
Registriert: 30.04.2005, 13:21
Kontaktdaten:

Gehfehler^^

Beitrag von Agent Cat »

Bei mir gibt es schon länger das Problem, (vor allem bei scrollenden Räumen oder bei Spielen mit hoher Auflösung) dass, wenn man im Bildschirm an eine Stelle klickt, die Hauptfigur plötzlich ganz woanders steht, als da, wo sie eben noch stand. Ist sehr schwer zu erklären, aber ich denke, alle, die schon mal AGS benutzt haben, wissen was ich meine.^^ Beispiel: Man steht in der Mitte eines langen, scrollenden Raumes und begibt sich nach links. Urplötzlich steht die Figur einen halben Bildschirm weiter rechts und geht von dort aus weiter nach links.

Zur Frage: Weiß jemand, wie man dieses Problem beheben könnte?^^
Nekyl
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 20
Registriert: 20.01.2007, 20:42
Kontaktdaten:

Beitrag von Nekyl »

Soweit ich mitbekommen hab, is das ein AGS internes Problem, bzw. wohl ein Bug, folglich kann man es nicht beheben (zumindest wir nicht ^^), sondern nur vermeiden.
Wie ? Indem man keine überbreiten Hintergründe benutzt (das Problem tritt, wie es scheint, nur bei Räumen auf, die breiter sind als das Standardformat.

Hoffentlich wird das bald gepatcht. Wäre schade, wegen so nem dämlichen Fehler auf Panoramen verzichten zu müssen :)
strazer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 35
Registriert: 17.06.2005, 14:22

Beitrag von strazer »

Welche AGS-Version benutzt du? Das ist ganz sicher kein Bug.
Ich höre das erste Mal davon und hatte auch selbst noch keinerlei Probleme mit scrollenden Räumen.

Je nachdem wie du es geskriptet hast, hängt es vielleicht mit dem Unterschied Raumkoordinaten<>Maus/Bildschirmkoordinaten zusammen:
Sagen wir, dein Charakter steht in der Mitte des Raumes, d.h. der Bildschirm ist schon ein wenig nach rechts gescrollt. Nun schreibst du z.B.:
player.Walk(mouse.x, mouse.y);
Die Sache ist, mouse.x ist die Bildschirmkoordinate, nicht die Koordinate im Raum. Um den Punkt zu kriegen, den du angeklickt hast, musst du zu der Bildschirmkoordinate noch die Position des Bildschirms (Viewports) innerhalb des Raumes addieren:

Code: Alles auswählen

player.Walk(GetViewportX() + mouse.x, mouse.y);
bzw.

Code: Alles auswählen

player.Walk(GetViewportX() + mouse.x, GetViewportY() + mouse.y);
falls der Raum auch vertikal scrollen kann.

Vielleicht hilft dir das weiter den Fehler zu finden.
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

strazer, der Bug tritt vor allem im MMM-Pack auf und gerade da wird diese Zeile gebraucht, wenn ich mich richtig erinnere. Bisher hat bei mir immer ProcessClick(mouse.x,mouse.y,eModeWalk); geklappt, aber da Agent Cat ja wohl das Sierra-GUI benutzt, wird wohl auch da der Wurm drin sein. Wird wohl ein AGS-interner Bug sein.
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
strazer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 35
Registriert: 17.06.2005, 14:22

Beitrag von strazer »

Dann ist es wohl ein Skriptfehler (Flüchtigkeitsfehler) im MMM- bzw. Sierra-Pack (kenne beides nicht).

Das ist kein Bug in AGS, das funktioniert nun mal so.
Tribble
Tastatursteuerer
Tastatursteuerer
Beiträge: 593
Registriert: 22.10.2004, 13:15

Beitrag von Tribble »

Das "Sierra-Pack" wie du es nennst ist die Standard-Steuerung von AGS.
Habe MMM-Episoden gemacht. Sag aber nicht welche.
Antworten