JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=5f268e5090cb0b52544c48babeda9f33Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Animation Problem

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Florian
Super JLI'ler


Alter: 36
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 26.08.2003, 08:25    Titel: Animation Problem Antworten mit Zitat

Hallo erst mal.
Ich habe ein Problem mit meiner animation.Ich habe eine Texture erstellt die alle animations
Bilder enthält jetzt wollte ich eine Funktion Progen die die passenden Rect ausschneidet.Aber
da gibt es glaube ich mal ein Problem.
Mein code:

r.bottom = animheight * action;
r.right = r.right + animwidth;

if(r.right == texwidth)
{
r.right = animwidth;
}

r.left = r.right - animwidth;
r.top = r.bottom - animheight;

if(r.bottom == texheight)
{
r.bottom = animheight;
}

Variablen Beschreibung:

animheight = ist die höhe eines AnimationsBildes inerhalb der Textur
animwidth = ist die breite eines AnimationsBildes inerhalb der Textur
texwidth = ist die breite der gesamten Textur
texheight = ist die höhe der gesamten Textur
action = Die zeilennummer der Animation

r = wird dann in der Draw Funktion Übergeben

Die Werte texwidth und texheight habe ich mit der D3dXGetImageInfo funktion übergen und die
anderen Werte habe ich berrechnet

Danke im Voraus
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Daxtor
Mini JLI'ler



Anmeldedatum: 17.09.2002
Beiträge: 32
Wohnort: Torgau
Medaillen: Keine

BeitragVerfasst am: 26.08.2003, 09:24    Titel: Antworten mit Zitat

Hi,
sehe ich dass richtig, dass deine Animationsbilder in einer Spalte angeordnet sind und dass das Rechteck sich also nur nach unten verschieben soll?
Dafür würde ich eine Schleife nutzen:
Code:

RECT r;

for(int i=1; LastPicture==action; i++)
{
   r.bottom += action * animheight;
   r.top     =  i * animheight;

   r.left  = 0;
   r.right =  animwidth;

   action++;

   ...
}


Hinweis: Ich bin jetzt davon ausgeganden, dass das erste Animationsbild die Zeilennummer (action) = 0 ist.

cu Daxtor

P.S.: Ich habe das jetzt nur kurz aufgeführt, ich bin mir nicht sicher ob der Code richtig ist
_________________
Was kannst Du erwarten wenn Du "Weichware" von einer Firma namens "Winzigweich" kaufst? Also, dann bist du doch mit Software von Microsoft noch gut dran...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Chewie
Super JLI'ler



Anmeldedatum: 17.07.2003
Beiträge: 382

Medaillen: Keine

BeitragVerfasst am: 26.08.2003, 09:45    Titel: Antworten mit Zitat

ein Problem liegt glaub ich da:
Code:

if(r.bottom == texheight)
{
  r.bottom = animheight;
}


damit setzt du r.bottom jedesmal falsch, wenn du in die letzte Zeile der Textur kommst.
Aber Debug mal durch, da fallen einem falsche Werte ziemlich schnell auf...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 26.08.2003, 18:21    Titel: Antworten mit Zitat

Ist das was du da vorhast nicht ziemlich uneffektiv,d a du die maximalen grössen der Texturen nicht voll ausnutzt. Wenn deine Textur zu gross wird kann es zu Anzeigefehlern kommen (nicht unbedingt bei dir aber bei anderen Rechnern mit anderen Grafikkarten).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum