AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Spielfigur zum stehen bringen
Thema durchsuchen
Ansicht
Themen-Optionen

Spielfigur zum stehen bringen

Ein Thema von schrimm · begonnen am 6. Apr 2007 · letzter Beitrag vom 7. Apr 2007
Antwort Antwort
schrimm
(Gast)

n/a Beiträge
 
#1

Spielfigur zum stehen bringen

  Alt 6. Apr 2007, 21:08
So ich hab das nächste Problem mit meinem vielleicht irgendwann mal spiel:
Delphi-Quellcode:
//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;
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.
Wo ist der Fehler?
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#2

Re: Spielfigur zum stehen bringen

  Alt 7. Apr 2007, 00:15
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
  Mit Zitat antworten Zitat
schrimm
(Gast)

n/a Beiträge
 
#3

Re: Spielfigur zum stehen bringen

  Alt 7. Apr 2007, 10:14
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
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#4

Re: Spielfigur zum stehen bringen

  Alt 7. Apr 2007, 12:25
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?
  Mit Zitat antworten Zitat
schrimm
(Gast)

n/a Beiträge
 
#5

Re: Spielfigur zum stehen bringen

  Alt 7. Apr 2007, 16:23
Zitat von dino:
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?
jo, ich habe Bmp's, wo von links nach rechts die Animationsbilder drin sind.
Zitat von dino:
hast du auch eine andere Richtung statt e?(die zwar für r mal eingeschrieben wird, wo aber kein Bild gezeichnet wird)
jo, hab noch andere richtungen, wollte nur erstmal mit einer Richtung alles haben, bevor ich die anderen nach der gleichen variante einfüge (e=east, also bewegt der sich nach rechts, n wäre dann oben, ...)
Zitat von dino:
Ist es richitg, dass das Standbild immer an der selben Stelle gemalt wird?
Nein, das Standbild wird in das gleiche TImage, wie die animation gezeichnet, von der convas her istd as ja nur 1 bild und wird innerhalb des image immer an die gleiche stelle gemalt.
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
  Mit Zitat antworten Zitat
schrimm
(Gast)

n/a Beiträge
 
#6

Re: Spielfigur zum stehen bringen

  Alt 7. Apr 2007, 19:01
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)
  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 06:55 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