Autor Beitrag
Maedhros
Hält's aus hier
Beiträge: 2

Win XP
D6 Pers, D7 Pers
BeitragVerfasst: Do 21.07.05 08:51 
Titel: höchst merkwürdig...
Hm.... komischerweise tut sich bewegungstechnisch gar nichts, wenn ich den Code so schreib wie oben im Tutorial. Ich hab es jetzt so weit nachgeschrieben, dass man die Figur bewegen kann, wenn man DoCollision auskommentiert. Fehlermeldungen bekomm ich keine.
Ich habe mir dann mal Deinen Sourcecode geladen, um mal zu vergleichen, ob da irgendwo Abweichungen sind, konnte aber nichts finden. Dein Source allerdings funktioniert bei mir.
Mit anderen Worten:
Der Source aus dem Totorial -> in neues Projekt kopiert -> keine Bewegung.
Der Source aus dem Totorial -> im eigenen Projekt ("as is") -> alles funktioniert


Woran kann das liegen, dass bei mir die Figur sich partout nicht bewegen will?

(Nachtrag: Mir fiel gerade auf, dass das Tutorial für DelphiX geschrieben ist. Ich habe bei mir UnDelphiX Version 6 installiert. Ist bei der Version etwas besonderes zu beachten?)
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 22.07.05 13:38 
wenn mein beispiel funktioniert, dann nein, ansonsten kA :wink:

vielleicht hast du eine einstellung bei den komponenten nicht übernommen ?
Maedhros
Hält's aus hier
Beiträge: 2

Win XP
D6 Pers, D7 Pers
BeitragVerfasst: Sa 23.07.05 01:27 
Die Komponenten auf dem Formular? Die sind exakt so eingestellt, wie es im Totorial geschrieben ist und auch in Deinem Sourcecode sind.
Vielleicht habe ich auch bei der Installation von UnDelphiX etwas verkehrt gemacht... gibt es da noch mehr zu tun, als nur die Packages zu installieren (sprich: Noch an anderen Stellen Einstellungen tätigen)?

Nachtrag:
Ich habe den Fehler jetzt gefunden: Der Code, der eigentlich dem Event "DXTimer1 OnTimer" hätte zugeordnet werden sollen, ist bei mir dem OnActivate zugewiesen gewesen. Klar dass es dann nicht funktioniert :oops:
Wie kam es zu dem Fehler? Aus Gewohnheit hab ich per Doppelclick auf die Komponente den Code für das Event hinzugefügt - bei einem normalen Timer haut das dann ja auch hin, nur der DXTimer weist dann automatisch "OnActivate" zu.
Nun hab ich schon eine Brille... :lol:

Noch mal ein Nachtrag:
Nun wo es funktioniert... bei der Animation fiel mir auf, dass die Figur doch tatsächlich flackert beim laufen. Ich habe dann die folgende Zeile auskommentiert (bei einer der vier Bewegungsrichtungen):

ausblenden Quelltext
1:
2:
3:
4:
procedure TPlayer.DoMove(MoveCount: Integer);
...

        //AnimCount := image.patterncount;


Man hat dann eine sich bewegende Figur ohne Animation, die aber dafür nicht flackert. Ich habe die Zeile dann mal modifiziert:
ausblenden Quelltext
1:
AnimCount := image.patterncount - 1;					

Kein Flackern mehr.
Also irgendwie scheint Delphi hier 5 Frames zu zählen statt der vier vorhandenen, wobei der fünfte dann einfach leer ist.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 25.07.05 12:56 
das mit dem doppelklick kenne ich, das mit dem patterncount kann angehen, hab momentan kein delphi installiert wo ich delphix nutze, also kann ichs nicht testen, aber das flackern hatte ich auch, das -1 ist dann wohl richtig (vielleicht n rundungsfehler oder so)
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 30.07.05 17:10 
eine ursache für das problem währe:
du setzt ständig den animation count bei jedem schritt, aber dies sollte nur bei der erstellung passieren damit ist es auch kein wunder das es bei deiner mod zeile kein fehler auftritt *G*

du solltes nur noch prüfen wenn -1 ereicht wurde sonst könnte es zu fehlern kommen !

_________________
MFG
Michael Springwald, "kann kein englisch...."