![]() |
Spielfigur zum stehen bringen
So ich hab das nächste Problem mit meinem vielleicht irgendwann mal spiel:
Delphi-Quellcode:
das funktioniert ja schon ganz gut, aber manchmal nimmt der das Standbild nicht, sondern es bleibt einfach das aktuelle Animationsbild stehen, das passiert immer, wenn im Timer c auf 0 ist.
//im Timer:
if getasynckeystate(VK_right)<>0 then begin label1.caption:=inttostr(c);//c ist die Zählvariable für die Einzelbilder r:='e'; Twait.enabled:=false;//nach 10 sec nix tun kommt dan ne andere animation, tut nix zur sache Iigor.Canvas.Draw(-1*(c*96), 0, BmpIwalk_e); Iigor.left:=Iigor.left+5; if c>=7 then //wenn de einzelbilder durch sind von vorne, wenn ni dann c+1 begin c:=0;end else begin inc(c); end; end;//getasynckeystate //FormKeyUp: case r of 'e':Iigor.Canvas.Draw(0, 0, BmpIstop_e);//Standbild //je nach richtung dann das entsprechende standbild end; Wo ist der Fehler? |
Re: Spielfigur zum stehen bringen
ich hab da nicht viel ahnugn von, aber wenn ich mir das so angucke, dann würde ich sagen, dass wen du mit c die durchläufe zählst, dass du dann auch am Anfang c:=0 machen solltest
was ändert sich dadurch? vielleicht kriegen wirs moch gelöst |
Re: Spielfigur zum stehen bringen
das ist ne gute idee, hatte ich aber schon in Oncreate mit drin.
Also wie gesagt: Das Laufen der Figur funktioniert, nur beim stehen bleiben kommt nicht immer das richtige Bild |
Re: Spielfigur zum stehen bringen
eins verstehe ich nicht: Iigor.Canvas.Draw(-1*(c*96), 0, BmpIwalk_e);
für c=6 wird das Bild 576 Pixel links vom linken Rand der Canvas gemalt ist das Richtig? hast du auch eine andere Richtung statt e?(die zwar für r mal eingeschrieben wird, wo aber kein Bild gezeichnet wird) Ist es richitg, dass das Standbild immer an der selben Stelle gemalt wird? |
Re: Spielfigur zum stehen bringen
Zitat:
Zitat:
Zitat:
Mein prob ist nur, dass der aus irgendwelchen gründen dieses Standbild nicht immer zeichnet, habe auch noch nicht rausgefunden, wann der das macht und wann ni, weiß bloß dass es für mich keine wirkliche Logik gibt |
Re: Spielfigur zum stehen bringen
Ich habe eine Lösung gefunden!
eigentlich unlogisch, aber es funzt: Ich lese die Tasten ja im Timer ein, da hab ich onkeyup den timer ausgeschalten und onkeydown wieder an, dann geht alles (hoffenltich) :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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