Contenido del Curso
PyGame Project: Arcade Game
PyGame Project: Arcade Game
Introduction to PyGameDefining ConstantsPyGame Window CreationHandling Player InputGenerating and Managing EnemiesCreating and Collecting BonusesManaging Game EventsManaging Game Flow and Dynamic ElementsCreating a Scrolling BackgroundPlayer Movement and Boundary ControlHandling Enemy and Bonus InteractionsUpdating and Displaying Score and PlayerManaging Memory and Removing Off-Screen Objects
Swipe to show menu
Creating a Scrolling Background
In this chapter, we're making our game's background move to create the illusion of a continuous, scrolling scene. Here's a simple breakdown:
Move the Background
bg_x1 -= bg_move
andbg_x2 -= bg_move
shift both instances of the background image to the left. This movement is determined by the value of bg_move, making it seem like the player is moving forward in the game.
Loop the Background
- The if statements check if either background image has moved entirely off the screen to the left. If
bg_x1 < -bg.get_width()
, it means the first background image has scrolled past the left edge of the screen. We then setbg_x1 = bg.get_width()
, which moves it directly to the right of the visible screen, ready to scroll again. The same logic applies to bg_x2.
Display the Background
main_display.blit(bg, (bg_x1, 0))
andmain_display.blit(bg, (bg_x2, 0))
draw the background images on the screen at their new positions. The (bg_x1, 0) and (bg_x2, 0) specify the positions of the backgrounds. The 0 in both commands keeps the vertical position the same, ensuring the background scrolls horizontally.
By continuously moving and looping the background images like this, we create a seamless, scrolling effect that adds depth and movement to the game, making it more engaging and visually appealing.
Tarea
Swipe to show code editor
- Shift Backgrounds Left: Decrease
bg_x1
andbg_x2
bybg_move
to move backgrounds leftward; - Reset Backgrounds for Loop: If
bg_x1
orbg_x2
move off-screen (< -bg.get_width()), reset them to bg.get_width() for continuous scrolling; - Draw Backgrounds: Use
main_display.blit(bg, (bg_x1, 0))
andmain_display.blit(bg, (bg_x2, 0))
to draw the backgrounds on the screen at updated positions.
Solución
Mark tasks as Completed
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?
¡Gracias por tus comentarios!
Sección 1. Capítulo 9
AVAILABLE TO ULTIMATE ONLY