Ich versuche SDL (C++) zu verwenden, um eine Animation für ein Bild (320width, 64height) mit 64 × 64 pro Frame zu erstellen.Animation nicht korrekt in SDL (C++)?
Mein Problem ist, dass mein ganzes Bild (320 × 64) im 64 × 64-Raum gequetscht wurde, anstatt pro Bild gezeigt.
Ich habe eine AnimatedSprite Klasse für die Animation mit der Methode draw()
AnimatedSprite::Draw(BackBuffer& backbuffer)
{
//set frame width
this->SetFrameWidth(64);
//set x coordinate
this->SetX(frameCoordinateContainer[m_currentFrame-1]);
backbuffer.DrawAnimatedSprite(*this);
}
Verfahren DrawAnimatedSprite so ist,
void BackBuffer::DrawAnimatedSprite(AnimatedSprite& animatedSprite)
{
SDL_Rect fillRect;
fillRect.x = animatedSprite.GetX();
fillRect.y = animatedSprite.GetY();
fillRect.w = animatedSprite.getFrameWidth();
fillRect.h = animatedSprite.GetHeight();
SDL_RenderCopy(m_pRenderer, animatedSprite.GetTexture()->GetTexture(), 0, &fillRect);
}
Also habe jemand eine Idee, wo könnte falsch sein? Danke!
Sorry, dass ich nicht ganz verstehe, also wie soll ich es verbessern? @LogicStuff – Wilheim
Versuchen Sie, '0' mit' & fillRect' zu vertauschen. – LogicStuff
Ich tausche '0' mit' & fillRect', aber dann wird nichts da sein. @LogicStuff – Wilheim