python
import sfml as sf
window_width = 800
window_height = 600
sprite_texture = sf.Texture.from_file("sprite.png")
frame_width = 64
frame_height = 64
frame_rect = sf.IntRect(0, 0, frame_width, frame_height)
sprite = sf.Sprite(sprite_texture, frame_rect)
sprite.position = sf.Vector2(100, 100)
sprite_speed = 200
animation_frames = 6
animation_duration = sf.seconds(0.2)
frame_counter = 0
animation_timer = sf.Clock()
while window.is_open:
for event in window.events:
if type(event) is sf.CloseEvent:
window.close()
sprite.position += sf.Vector2(sprite_speed, 0) * animation_timer.elapsed_time.seconds
if animation_timer.elapsed_time >= animation_duration:
frame_counter += 1
if frame_counter >= animation_frames:
frame_counter = 0
frame_rect.left = frame_counter * frame_width
sprite.texture_rectangle = frame_rect
animation_timer.restart()
window.clear()
window.draw(sprite)
window.display()