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()


上一篇:
下一篇:
切换中文