Einzelnen Beitrag anzeigen

Homunkulus

Registriert seit: 31. Jan 2008
6 Beiträge
 
#1

mmTimer mit Paintbox-Problem bei Icy-Tower-Clon

  Alt 15. Jul 2008, 02:29
Kurze Einleitung in mein Problem:

Ich versuche gerade ein kleines Minigame zu programmieren bei dem man Icy tower ähnlich einen EndlosTurm
Balken für Balken hochsteigen muss.
Den Spielablauf selber hab ich zum größten Teil fertig, nur häufen sich jetzt die Probleme bei der Ausgabe.
Ich habe bereits am Anfang beschlossen die Grafikausgabe über eine Paintbox laufen zu lassen,
statt dem Standart Timer hab ich den MMTimer benutzt da der Standart-Timer (das war mein subjektiver Eindruck, belehrt mich falls es falsch ist) in verschiedenen Sitationen unterschiedliche Geschwindigkeiten hatte.

Das Problem ist etwas seltsam, deshalb fang ich mal chronologisch von vorne an:

Da mir auffiel dass das Spiel fast bis 100% die CPU belastete wollte ich es testweise auf einem anderen PC ausprobieren.
Dort zeigte die .exe, die ich rüberkopiert hatte aber ein ganz anderes Verhalten als auf dem ursprünglichen PC:

Bild wurde manchmal nicht gezeichnet, Spiel blieb hängen, stürzte ab...
(womit wir bei der 1.Frage wären: ist die kompilierte .exe im Projektordner schon das endgültige Ergebnis oder braucht sie irgendwie noch eine spezielle Laufzeitumgebung?)

Zurück an Delphi versuchte ich das Problem, das es nur am anderen PC gab zu beheben; experimentierte rum, stellte versuchsweise den MMTimer auf 5 ms - ein paar sekunden kam ein rukkeliges Bild, danach ging gar nichts, ich meine wirklich gar nichts, bild frierte einfach ein, Musik im Hintergrund ging in Endlosschleife. Musste den PC neu starten.

Obwohl das Projekt natürlich das alte ist, mit der alten Timerfrequenz 25 und alles sonst auch unverändert, hat nun die PaintBox angefangen zu flackern, bzw. die Bilder innerhalb der Paintbox. Die IDE zeigt jetzt Fehlermeldungen an wo vorher keine waren, Projekt lässt sich trotzdem kompilieren, spiel löst dann aber manchmal "Systemfehler" oder so aus, manchmal schmiert es aber auch nur ab, manchmal muss es mit taskmanager abgeschossen werden...

Wenn ich wieder den Standart-Timer verwende läuft es seltsamerweise besser (aber auch nicht fehlerfrei)

Das seltsame ist eben das jetzt selbst ältere versionen die ich seperat abgespeichert hatte und die problemlos liefen nun Probleme verursachen.

Die verschiedenen Fragen:
2:habe ich Delphi kaputt gemacht oder Windows (oder doch mein Projekt)?
XOR
3:speichert Delphi zu einem Projekt selber irgendwas sodass alle Versionen davon betroffen sind?
4:Ist die Technik mit der Paintbox ineffizient oder hat das mit meinen Algorithmen zu tun?

Details: OS: WindowsXP
IDE: Delphi Turbo Explorer

Mir ist das ganze ziemlich unangenehm, wenn sich keine Lösung findet müsste ich wohl notgedrungen ein neues Projekt anfangen und die .pas dateien dorthin kopieren..
Bin Dankbar für jede Antwort
  Mit Zitat antworten Zitat