AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [Andorra 2d] Animation
Thema durchsuchen
Ansicht
Themen-Optionen

[Andorra 2d] Animation

Ein Thema von Noone9 · begonnen am 7. Apr 2008 · letzter Beitrag vom 7. Apr 2008
Antwort Antwort
Noone9

Registriert seit: 29. Sep 2007
7 Beiträge
 
#1

[Andorra 2d] Animation

  Alt 7. Apr 2008, 15:03
Hallo,

ich schreibe derzeit ein kleines Spiel für Andorra bei welchem man eine kleine Figur über den Bildschirm in alle 4 Richtungen bewegen kann. Meine Kleine Figur besteht bis jetzt aus 7 Pattern, 0 für stilles Stehen, Pattern 1 und 2 für nach rechts, Pattern 3 und 4 für nach links und Pattern 5 und 6 für nach unten Laufen. Die Animationen werden nun so aktiviert:
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (Key=VK_RIGHT) then
  begin
    XMove:=150;
    Figur.AnimStart:=1;
    Figur.AnimStop:=2;
    mundungx:=Figur.X+19;
    mundungy:=Figur.Y+20;
  end;
if (Key=VK_LEFT) then
  begin
    XMove:=-150;
    Figur.AnimStart:=3;
    Figur.AnimStop:=4;
    mundungx:=Figur.X;
    mundungy:=Figur.Y+20;
  end;
if (Key=VK_UP) then Ymove:=-150;
if (KEY=VK_DOWN) then
begin
Ymove:=150;
Figur.Animstart:=5;
Figur.Animstop:=6;
mundungx:=Figur.X+2;
mundungy:=Figur.Y+29;
end;
bzw. über KeyUp gestoppt:
Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (Key=VK_Right) or (Key=VK_Left)then
begin
Xmove:=0;
Figur.Animstart:=0;
Figur.AnimStop:=0;
end;
if (Key=VK_UP) or (KEY=VK_DOWN) then
begin
Ymove:=0;
Figur.Animstart:=0;
Figur.AnimStop:=0;
end
end;
Wenn man nach rechts läuft, funktioniert die Animation wie gedacht. Wenn man nun aber nach links läuft, läuft komischerweise kurzzeitige die Animation für nach rechts laufen ab und wenn man nach unten läuft erst die Animation für nach Rechts dann für nach Links und dann erst für nach unten laufen ab. Andorra scheint also erst die Pattern von 0 bis xx abzuspielen bevor es die richtige AnimStart Pattern abspielt. Ich hoffe ihr versteht mein Problem und hab eine mögliche Lösung.
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#2

Re: [Andorra 2d] Animation

  Alt 7. Apr 2008, 15:07
schau dir einemal die "Wormhunter" Demo an, die wird bestimmt helfen.

kann es sein das du das vergessen hast??
Delphi-Quellcode:
if (Key=VK_LEFT) then
  begin
    XMove:=-150;
    Figur.AnimStart:=3;
    Figur.AnimStop:=4;
    mundungx:=Figur.X; //+19 ???
    mundungy:=Figur.Y+20;
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: [Andorra 2d] Animation

  Alt 7. Apr 2008, 15:12
Hat nicht direkt mit dem Problem zu tun, aber ich würde eine case-Abfrage verwenden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Noone9

Registriert seit: 29. Sep 2007
7 Beiträge
 
#4

Re: [Andorra 2d] Animation

  Alt 7. Apr 2008, 15:14
Danke, werd ich gleich mal machen, werde berichten sobald ich den Fehler hab, leider ist Wormhunter etwas anders aufgebaut, werd trotzdem mal schauen. Nee das mundungx und mundungy bezieht sich auf die Stelle an der die "Projektile" meine Figur verlassen und da die je nach Bewegungsrichtung anders ist passt das schon.

Edit: Jo Case ist wohl besser, bin noch im frühen Stadium des Codes, werds verändern. Danke
  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 14:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz