Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Beni5 Super JLI'ler
Alter: 36 Anmeldedatum: 12.11.2003 Beiträge: 310 Wohnort: Switzerland Medaillen: Keine
|
Verfasst am: 15.12.2003, 10:47 Titel: Sprite mit einem File animieren |
|
|
Hallo!
Ich bin gerad ebeim Kapitel wo man Sprites animieren lernt. Jetzt wollte ich mal probieren das mit 1 File zu tun , wie es beim rpg maker ist.
Und dazu hab ich die Methode Sprite um eine Variable size erweitert. Dort muss man angeben wie gross ein Bildchen des ganzen Bildes ist , also von einer Animation. ( Bsp. das bild ist 512x32 , dann ist eines 32).
Nun habe ich in der Draw funktion noch eine Schleife gemacht, jedoch stürzt er jetzt ab oder er zeichnet nur 1 Bild. Hier ist der Code:
Code: | // Sprite zeichnen
void CSprite::Draw(int size)
{
int NumberOfFrame=0;
while(1)
{
while(NumberOfFrame <= m_Width/size)
{
RECT FrameNumber = {0,0,0,0};
FrameNumber.left =NumberOfFrame*size;
FrameNumber.right =NumberOfFrame*size+size;
FrameNumber.top =0;
FrameNumber.bottom =size;
m_lpSprite->Draw(m_lpTexture,
&FrameNumber,
&m_vScale,
&m_vRotationCenter,
m_Rotation,
&m_vPosition,
0xFFFFFFFF);
NumberOfFrame++;
}
NumberOfFrame=0;
}
}
|
|
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 15.12.2003, 12:17 Titel: |
|
|
http://www.jliforum.de/board/viewtopic.php?t=1654
Das ist doch im Grunde das gleiche von dir nur das du eine zusätzliche Variable hast. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Beni5 Super JLI'ler
Alter: 36 Anmeldedatum: 12.11.2003 Beiträge: 310 Wohnort: Switzerland Medaillen: Keine
|
Verfasst am: 15.12.2003, 12:41 Titel: |
|
|
Ne überhaupt net , hier geht's um Sprites und damals war es keine Animation. Ich weiss es funktioniert ähnlich , und das problem damals habe ich gelöst und jetzt verwende ich ein teil des gleichen codes. Das Problem muss irgendwo anders liegen... |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 15.12.2003, 12:45 Titel: |
|
|
Hast du mal versucht rauszufinden, wann genau der Fehler auftritt?
Z.B. mit Debuggen.
PS: Vielleicht übergibst du ja auch eine falsche Größe als Parameter _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 15.12.2003, 13:05 Titel: |
|
|
|
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 15.12.2003, 13:10 Titel: |
|
|
LOL, gut erkannt. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 15.12.2003, 13:18 Titel: |
|
|
Das hab ich mir auch schon gedacht, aber dann dürfte das Proggy eigentlich nicht Abstürzen, sondern einfach nur in einer Endlosschleife laufen _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Beni5 Super JLI'ler
Alter: 36 Anmeldedatum: 12.11.2003 Beiträge: 310 Wohnort: Switzerland Medaillen: Keine
|
Verfasst am: 15.12.2003, 14:00 Titel: |
|
|
ja es liegt auch am while(1), aber wenn ich es anderst mache wird es garnicht animiert... und ich will ja das e sdie ganze zeit animiert ist |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 15.12.2003, 15:00 Titel: |
|
|
Dazu vererwendet man auch meist eine Funktion Tick() die jeden Hauptschleifendurchgabng für jedes Objekt (Sprite) aufgerufen wird.
Diese Funktion sollte dann die FrameNummer erhöhen. So hast du dann keine Endlosschleife. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Beni5 Super JLI'ler
Alter: 36 Anmeldedatum: 12.11.2003 Beiträge: 310 Wohnort: Switzerland Medaillen: Keine
|
Verfasst am: 15.12.2003, 15:48 Titel: |
|
|
Ah ich hab's gelöst.. die while schlefie war überflüssig weil es ja sowieso schon ne endlosschleife hat.
vielen dank an euch |
|
Nach oben |
|
|
|