![]() |
Re: Application Processmessages zum bewegen von Charakteren
Warum deklarierst du nicht in TLevel die zwei Methoden VerschiebeFigur und MachWasWennFigurAngekommen (evtl. als abstract)?
Dann brauchst du nur noch eine Variable vom Typ TLevel, in der du das aktuelle Level speicherst und kannst im Timer über diese auf die entsprechende Methoden des aktuellen Levels zugreifen. Falls du die Levels sowieso schon in einem Array oder ähnlich verwaltest, reicht auch ein Integer in dem du den Index des aktuellen Levels ablegst. |
Re: Application Processmessages zum bewegen von Charakteren
Das war ja ungefähr die Idee von oben. Nur ist das Problem dabei eben, dass es (selbst in einem Level) viele verschiedene Sachen gibt, die nach einem Klick passieren können:
- Klick auf die Tür -> gehe zur Tür -> Lade neues Level - "Nimm"-Klick auf Schaufel -> gehe zur Schaufel -> sag was -> nimm Schaufel - ... Werde es aber wahrscheinlich trotzdem so machen und irgendwie mit Indices hantieren. Vielen Dank euch allen nochmal :dp: |
Re: Application Processmessages zum bewegen von Charakteren
Wollte mich nur noch mal zurückmelden und sagen wie ichs gelöst hab.
Ich habe einen Workaround gefunden: Der DxTimer (von DelphiX ;) ) spricht zwar nicht auf das Application.ProcessMessages an, aber der normale Delphi-Timer tut das genau so wie ich mir das vorgestellt hab. Nur das er keine Eigenschaft FPS hat aber das lässt sich ja leicht nachbauen. Es läuft jetzt wieder alles so wie es am Anfang war, nur mit einem anderen Timer. *schulternzuck* Naja wenigstens weiß ich jetzt was Threads sind und hab noch n paar andere Sachen auf dem Weg dahin gelernt! Danke DP :dp: |
Re: Application Processmessages zum bewegen von Charakteren
Hallo ihr alle,
vielleicht habe ich das ursprüngliche Problem nicht richtig verstanden, aber meines Erachtens ist das nicht so schwierig. Flogo, hab ich das richtig verstanden, dass du die Figur im Spiel herumlaufen lässt und möchtest, dass etwas bestimmtes passiert, wenn sie ankommt? Dann speicher doch irgendwie mit ein paar Variablen, was genau passieren soll, wenn die Figur ankommt und setz in die Timer-Schleife einmal die If-Abfrage, ob die Figur angekommen ist. Lass die Repeat-Until-Schleife einfach weg. Dann sollte die Figur weiterhin laufen können, und wenn sie ankommen, passiert eben das, was du willst. [Edit: Oh, ich hab nicht gesehen, dass da noch eine zweite Seite war. Hat sich wohl schon erledigt] Grüße Seniman |
Re: Application Processmessages zum bewegen von Charakteren
Das hat Niko ja auch schon vorgeschlagen. Das Problem dabei ist nur das je nach Aktion, Stelle im Spiel, Stelle im Level, Mauscursor und Level, ja eine ganz andere Aktion ausgeführt werden soll.
Aber wie gesagt es ist gelöst und läuft auf die Art die ich schon am Anfng wollte nur eben mit einem anderen Timer. Trotzdem Danke für deinen Vorschlag! :cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz