Die Basis ist mitlerweile geschrieben, aber ich habe Probleme die Maussteuerung umzusetzen (war schon immer mein Kryptonit. Hätte ich eine Kings Quest ähnliche Engine mit Tastatursteuerung und Parser schreiben wollen, wäre ich wahrscheinlich längst fertig).
Derzeit sieht der Mauscode folgendermaßen aus.
Damit kommt natürlich kein wirkliches Point&Click Gefühl auf (eher Drag&Drop).
while not key(k_esc)
locate(0,10)
prints( "Current X mouse coordinate is: " & mouseX )
prints( "Current Y mouse coordinate is: " & mouseY )
waitVBL
prints( mouseButton )
if mousebutton=1 then
sprite(2, mouseX, mouseY, 2)
end if
wend
Hat Jemand eine Lösung (am besten in Form eines Beispielcodes, gerne aber auch einfach ein umsetzbares Konzept) für dieses Problem?
Das ganze sollte am Ende so wie bei SCUMM oder anderen Adventure Engines ablaufen. D.h. die Laufanimationen liegen in einem File vor, werden bei Runtime in ein Array geladen und daraus dann einzeln bei Wiedergabe wieder zusammengesetzt (in Einzelbildern von gleicher Auflösung).
Ich frage mich daher auch, wie ich es hinbekomme, dass genau die korrekten Einzelbilder abgerufen werden. E.g. wenn ich nach unten klicke, der Charakter gen Süden geht und dies auch in der Animation so wiedergespiegelt wird (also nicht die links oder rechts Animation verwendet wird.
Ich weiss nicht ob Lebostein noch unter uns weilt, aber wenn, wäre es toll, wenn er mir ein paar Snippets aus seiner alten Herr der Löffel Engine oder ähnliches geben könnte. Wäre interessant zu wissen, wie da die Wegfindung umgesetzt wurde.