AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein RPG Spiel - Flackern bei mehreren Grafiken
Thema durchsuchen
Ansicht
Themen-Optionen

RPG Spiel - Flackern bei mehreren Grafiken

Ein Thema von Pryoxer · begonnen am 8. Mai 2013 · letzter Beitrag vom 11. Mai 2013
Antwort Antwort
Benutzerbild von Pryoxer
Pryoxer

Registriert seit: 8. Feb 2013
21 Beiträge
 
Delphi XE4 Starter
 
#1

AW: RPG Spiel - Flackern bei mehreren Grafiken

  Alt 8. Mai 2013, 20:04
ok danke schon mal für den Tipp mit der Image list (wusste zwar das es so was gibt aber net das man sie so verwendet )

Zu den anderen fehler wenn ich das mal erfolgreich integriert habe

Gruß
Lukas
Lukas
... if (Image1.left<image1.left) ... = Fehlermeldung
  Mit Zitat antworten Zitat
Benutzerbild von Pryoxer
Pryoxer

Registriert seit: 8. Feb 2013
21 Beiträge
 
Delphi XE4 Starter
 
#2

AW: RPG Spiel - Flackern bei mehreren Grafiken

  Alt 8. Mai 2013, 20:26
So ok ich hab das ganze jetzt mit der Imagelist gemacht wie du es gesagt hast (jetzt flackert es auch nicht mehr , danke )

Du hast aber auch gesagt im meinem Code seien noch ein paar Fehler. Könntest du mir sagen was?

Danke im Voraus

Mfg
Lukas
Lukas
... if (Image1.left<image1.left) ... = Fehlermeldung
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

AW: RPG Spiel - Flackern bei mehreren Grafiken

  Alt 8. Mai 2013, 21:11
Du bist ja ganz schön fix.

Also das Problem ist die procedure pause .
Innerhalb dieser Procedure wird Application.ProcessMessages aufgerufen.

Wenn der Spieler Pfeil-nach-oben drückt, wird PlayerMoveUp aufgerufen.
Dann wird eine Animation mit 5 Zuständen gestartet mit dazwischen 4 * pause.
Während dieser Zeit könnte der Spieler wieder eine andere Taste drücken.

Wie ich jetzt gesehen habe, verriegelst du weitere Richtungs-Tasten mit dem Boolean-Flag Move .
So wie's jetzt ist, ist es etwas unschön aber ich würd's jetzt nicht mehr als Fehler betrachten.
Damit kann der Spieler aber nicht auf halben Wege umdrehen.
Es kommt natürlich auf das Spiel an, ob man das überhaupt zulassen möchte.

Würdest du dir die Richtung und die Nummer der Animationssequenz merken, dann könntest du statt der procedure pause auch einen Timer verwenden.
Im Timer-Event OnTimer könnest du die Animationssequenznr hochzählen und jeweils das Spielerbild anpassen.
Würde der Spieler zurück wollen, könntest du die Animation umkehren.
Das ist natürlich etwas schwieriger als die Lösung, die du z.Zt. hast.


Ansonsten solltest du den Block mit Variablen:
Delphi-Quellcode:
var RunUp,RunLeft,RunRight,RunDown:boolean;
    Move:boolean;
    Speed:integer;
in die Klasse TForm1 unter private verschieben. Schlüsselwort var entfällt dann.
fork me on Github

Geändert von sx2008 ( 8. Mai 2013 um 21:20 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 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