Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi 2d Jump 'N' Run Animations Problem (https://www.delphipraxis.net/34427-2d-jump-n-run-animations-problem.html)

Chewbacca 23. Nov 2004 08:33


2d Jump 'N' Run Animations Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guden!
Ich hab mich als Info Projekt an ein 2D Jump 'N' Run gewagt, habe aber ein Problem mit der Animation meiner Spielfigur.
Die Figur bewegt sich zwar es werden auch verschiedene Bilder dabei angezeigt, die Bewegung sieht aber extrem unnatürlich aus. Die Bilder müssen auf jeden Fall noch verbessert werden, ihr werdet aber bestimmt sehen was ich meine.
Ich hab den Quelltext mal beigelget, damit sich Leute mit zu viel Zeit und mehr Ahnung (das dürfte nmicht schwer sein) als ich den mal ansehn können.
Wär echt dankbar wenn jemand den Fehler findet.
Bis jetzt steuert man die Figur noch per Mausklick, wird aber später noch auf eine simple links/rechts Steuerung per Tastatur umgebastelt.
Am wichtigsten ist wie gesagt erst mal die Animation!
Tschuus und danke schon ma

omata 23. Nov 2004 19:39

Re: 2d Jump 'N' Run Animations Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

habe mir das mal angesehen und etwas verändert.
Vielleicht gefällt dir das so besser.

Mal nebenbei: Du solltest das Einrücken etwas üben.

In deinem Projekt waren Speicherlecks. Du musst in einer eigenen Klasse (in der du Speicher reservierst) auch einen Destructor anlegen (nicht über eine Prozedur die Free heisst!). Im Prinzip hast du das ja versucht, aber du solltest dann nicht vergessen diesen Destructor auch aufzurufen (in OnClose oder OnDestroy).

MfG
Thorsten

Chewbacca 11. Jan 2005 08:24

Re: 2d Jump 'N' Run Animations Problem
 
Wow! Da hast du dir ja richtig Arbeit gemacht! Danke!
Gefällt mir jetzt wesentlich besser (und überzeugt auch meinen Info Lehrer)
Hab das eben erst gesehn, dass überhaupt jemand geantwortet hat. Hatte schon alle Hoffnung aufgegeben, dabei warst du voll schnell.
Wegen dem Einrücken und den Speicherlecks: Bin leider ein ziemlich blutiger (so medium, englisch*g*) Anfänger. Aber ich geb mir Mühe!
Danke noch ma! Wahrscheinlich werd ich dich aber noch mal terrorisieren müssen weil ich eine Dokumentation zu dem Programm schreiben soll und auch in einem mündlichen Vortrag erklären muss was ich da überhaupt gemacht hab, und vielleicht (ist doch seeeeeehr unwahrscheinlich) versteh ich ja was nicht....;)
Rock on!

omata 11. Jan 2005 18:33

Re: 2d Jump 'N' Run Animations Problem
 
Moin,

ich finde es sehr schön, dass du dich nochmal meldest.
Hatte mich schon etwas geärgert, weil ich mich da wirklich etwas reingehängt hatte und dann kommt einfach kein Kommentar.

Aber nun gut, es sei dir verziehen.

Melde dich, wenn du magst.

MfG
Thorsten

Chewbacca 29. Jan 2005 16:26

Re: 2d Jump 'N' Run Animations Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab ma en bssis weiter gebastelt und kann jetzt auch scrollen.
Bei der "nach-rechts-lauf-animation" schiebt er immer noch ein falsches Bild ein, ich raff aber nich genau warum. Hab schon ma selbst dran rumgeschnitzt, kriegs aber net hin. Bin dankbar für jegliche Hilfe, das Ding muss am Dienstag abgegeben werden... Falls jemand dann noch ne einfache Idee hat wie ich einen Gegner einbau, der kann die mir auch gerne mitteilen. Da kann ich doch eigentlich die ganze Laufprozedur vererben....glaub ich.
Wie gesagt, jede Hilfe ist willkommen.
Danke schon ma!

omata 29. Jan 2005 21:27

Re: 2d Jump 'N' Run Animations Problem
 
Moin,

wenn deine Figur nach rechts läuft, dann wird ein Bild zuweit gezählt.

Ändere mal in deiner Walk-Prozedur folgendes...
Delphi-Quellcode:
  For i := 1 To Schritt Do Begin
    inc(bild);
    if bild > 5 then // <--- ÄNDERUNG: bild >= 5
      bild:=0;
    :
    :
MfG
Thorsten

Die Muhkuh 30. Jan 2005 07:27

Re: 2d Jump 'N' Run Animations Problem
 
Hi,

grad mal ne OT-Frage:

Wo hast du die Bilder her? Selbst gemalt?

Chewbacca 30. Jan 2005 16:01

Re: 2d Jump 'N' Run Animations Problem
 
Ausgezeichnet! Läuft perfekt!
Jetzt hab ich nur noch die Qual mit dem Gegner, ma sehn was ich da hinkrieg...
Den Clonetrooper hat mir en Freund gemalt, das Gunship hab ich aus Battlefront per Screenshot und der Hintergrund is irgendein Foto mit Photoshop nachbearbeitet.
Bis denne!

Chewbacca 31. Jan 2005 11:24

Re: 2d Jump 'N' Run Animations Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab das mit dem Gegner jetzt so geregelt, dass bei jedem Scrollen ein neuer Battledroid auftaucht. Der wandert dann munter 2mal von rechts nach links.
Jetzt hab ich aber keine Ahnung wie ich die Figur schießen lasse, geschweige denn wie ich die Kollision eines Schusses mit dem Gegner abfrage. Wenn da jemand ma en Tip hat wie man da am einfachsten rangeht, wär ich sehr dankbar.
Anbei ma wieder das neuste Update des "Spiels" (wenn man das bis jetzt so nennen kann.....)
Danke schon ma!

Chewbacca 31. Jan 2005 14:30

Re: 2d Jump 'N' Run Animations Problem
 
so ich komm glaub ich vorran. Ich muss nur wissen wie ich die momentanen Koordinaten meiner Figur abfrage, weil ich ja immer neu wissen muss wo der Schuss auftauchen soll. Großartige Ideen bitte zu mir. Und dann is da noch das Problem mit der Kollision.
...so langsam werd ich panisch... :freak:

Chewbacca 31. Jan 2005 15:10

Re: 2d Jump 'N' Run Animations Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, wieder ne überflüssige Frage. Ich habs hinbekommen. So einigermaßen. Wie prüfe ich aber jetzt ob die Figur nach links schaut.
Das neuste Update ist auch wieder als Anhang dabei.
Was ich hier mach grenzt ja schon an spammen....sry
Also die letzten 2 endgültigen Fragen: Das Problem mit dem schießen oben geschildert
und Kollisionen.

freak4fun 31. Jan 2005 15:25

Re: 2d Jump 'N' Run Animations Problem
 
Du kannst doch schauen welche Grafik gerade zu sehen ist. Dementsprechend guckt der nach links oder rechts.

MfG
fR34k

Chewbacca 31. Jan 2005 15:31

Re: 2d Jump 'N' Run Animations Problem
 
Das hab ich versucht, aber kriegs net hin.
Wie genau überprüfe ich das? Bis jetzt isses das

Code:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
If Key = VK_RETURN AND Figur1.??? (Rechts) Then
 Begin
  Shot.SetBounds (Figur1.Left + 70, Figur1.Top + 20, 40, 6);
  Shot.Visible := True;
  Shot.Transparent := True;
  Shot.Walk ((Figur1.Left + 70) + 300, Figur1.Top + 20, 30);
  Shot.Visible := False;
 End
Else
 Begin
  Shot.SetBounds (Figur1.Left + 10, Figur1.Top + 20, 40, 6);
  Shot.Visible := True;
  Shot.Transparent := True;
  Shot.Walk ((Figur1.Left + 10) - 300, Figur1.Top + 20, 30);
  Shot.Visible := False;
 End;
end;
was genau muss überprüft werden?

freak4fun 31. Jan 2005 15:43

Re: 2d Jump 'N' Run Animations Problem
 
Hast du vielleicht dir Laufrichtung irgendwo verfügbar. Das wäre dann auch die Schussrichtung.

MfG
fR34k

Chewbacca 31. Jan 2005 15:51

Re: 2d Jump 'N' Run Animations Problem
 
Naja ich hab in der Walk Prozedur ein Boolsche Variable ModusRechts. Aber die kann ich irgendwie net abfragen.
Belehre mich BITTE eines besseren und sag mir dass es doch geht.

freak4fun 31. Jan 2005 15:56

Re: 2d Jump 'N' Run Animations Problem
 
Was ist den TFigur für eine Klasse? :gruebel:

Delphi-Quellcode:
Figur1 : TFigur;
MfG
fR34k

Chewbacca 31. Jan 2005 16:02

Re: 2d Jump 'N' Run Animations Problem
 
TImage.

freak4fun 31. Jan 2005 16:05

Re: 2d Jump 'N' Run Animations Problem
 
Boah, da muss man sich erstmal durchfinden. :mrgreen:
Also "ModusRechts: boolean;" kannst du nicht nehmen, weil es eine lokale Variable ist, die nach Beendigung der Procedure nicht mehr gültig ist.

Setze Sie doch in public der Figur.pas datei.

Bin auch kein Delphiprofi, muesste dann aber gehen. :gruebel:

MfG
fR34k

Chewbacca 31. Jan 2005 16:13

Re: 2d Jump 'N' Run Animations Problem
 
Da sagt er Fehldefinition. Das kann ich unter Public nicht deklarieren.

freak4fun 31. Jan 2005 16:15

Re: 2d Jump 'N' Run Animations Problem
 
Hm... Haste es in der Procedure auch raus genommen? :gruebel:

PS. Komm doch ebend mal in den chat. :roll:

MfG
fR34k

Chewbacca 31. Jan 2005 16:52

Re: 2d Jump 'N' Run Animations Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Und es geht immer noch net

Chewbacca 31. Jan 2005 17:15

Re: 2d Jump 'N' Run Animations Problem
 
JAAA! Schießen geht, nur die Kollision macht mir noch Kummer.
Irgendwelche Ideen?

Chewbacca 31. Jan 2005 17:58

Re: 2d Jump 'N' Run Animations Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
schießen geht sterben net, schade eigentlich

Chewbacca 31. Jan 2005 18:47

Re: 2d Jump 'N' Run Animations Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
WO IST DER FEHLER!

Nils_13 31. Jan 2005 18:51

Re: 2d Jump 'N' Run Animations Problem
 
Hi,

irgendwie schießt er in die falsche Richtung :gruebel:

Den push Rekord hat noch niemand gebrochen :zwinker:

Chewbacca 31. Jan 2005 18:53

Re: 2d Jump 'N' Run Animations Problem
 
mit Enter schießen dann gehts.
Sry wegen dem gespamme aber ich bin hektisch un panisch, weil das Ding morgen abgegeben werden muss.

Nils_13 31. Jan 2005 19:02

Re: 2d Jump 'N' Run Animations Problem
 
Gut, du solltest jetzt ruhig bleiben und dafür sorgen, dass man nur per Enter drücken schießt.

jfheins 31. Jan 2005 19:30

Re: 2d Jump 'N' Run Animations Problem
 
Zum schießen mit Enter:
Delphi-Quellcode:
If (Key = VK_RETURN) AND Figur1.ModusRechts Then
 Begin
  Shot.SetBounds (Figur1.Left + 70, Figur1.Top + 20, 40, 6);
  Shot.Visible := True;
  Shot.Transparent := True;
  Shot.Walk ((Figur1.Left + 70) + 300, Figur1.Top + 20, 30);
  Shot.Visible := False;
 End
Else If (Key = VK_RETURN) AND (not Figur1.ModusRechts) Then
 Begin
  Shot.SetBounds (Figur1.Left + 10, Figur1.Top + 20, 40, 6);
  Shot.Visible := True;
  Shot.Transparent := True;
  Shot.Walk ((Figur1.Left + 10) - 300, Figur1.Top + 20, 30);
  Shot.Visible := False;
 End;
Er hat Probleme bei der Kollisions erkennung, weil er jede Figur in einer eigenen Klasse hat, und jede Figur sichb selbst bewegt, ohne dass irgendwas anderes die Chache hat, etwas davon mitzubekommen ...

Mach da einfach public-Variablen in jeder Figur, die du dann mit den anderen Figuren abfragen kannst.

Chewbacca 31. Jan 2005 19:40

Re: 2d Jump 'N' Run Animations Problem
 
Bei der Abfrage
Code:
For i := 1 To Schritt Do
   Begin
    If (Left > Droid1.Left) And ((Left + Width) < (Droid1.Left + Droid1.Width)) Then
     Begin
      Break;
      Visible := False;
     End;
Hat Droid1 = nil und damit Droid1.Left etc keinen Wert. Sagt jedenfalls Delphi..
Du meinst Public Variablen, die dann die Werte wie Droid1.Left haben? Also integers?

jfheins 31. Jan 2005 20:26

Re: 2d Jump 'N' Run Animations Problem
 
Vertan, (verdammtes Quick 'n dirty ...) Droid.Left ist ja genau das ...

Hastz du Droid1 auch mit Droid1 := TDroid.Create; erstellt ???

Chewbacca 31. Jan 2005 20:37

Re: 2d Jump 'N' Run Animations Problem
 
Yep hab ich
Code:
Droid1 := TDroid.Create (self);
Es tut sich nix....

Chewbacca 1. Feb 2005 09:34

Re: 2d Jump 'N' Run Animations Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
OK, gebt euch das:
Ich hab heut nacht durchgemacht und um 6 wars dann so in etwa vollbracht.
Hier an der Schule hatte ich beim starten nur plötzlich eine Fehlermeldung 'WaveFormGerät nicht gefunden'. Das killt das ganze Programm, alles funktioniert nur noch halb. Zieht euch das programm ma und sagt mir ob ihr die Meldung auch bekommt.
Bei mir zu Hause lief alles.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 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