Python游戏编程(十)游戏编程(十)Animation
我们将编写一个程序来实现积木在窗口中弹跳的效果。这些积木具有不同的颜色和大小,并且只在对角线上移动。为了让积木
有动画的效果,我们将在游戏循环的每一次迭代中,让这些积木移动一些像素。这就会使得积木看上去像是在屏幕上移动。
目录目录
(一)游戏说明
(二)代码分析
1)设置常量变量
2)用于方向、速度、颜色的常量变量
3)设置积木 数据结构
4)游戏循环
1.处理玩家退出的情况
2.移动、弹跳积木
3.绘制窗口
(一)游戏说明(一)游戏说明
这个程序称不上是一个游戏,只是通过一些细微的改变实现一个积木的移动。程序中的积木就是用pygame.draw.rect()函数绘
制的矩形。在这个程序中,我们有三个不同颜色的积木来回移动,并且从窗口的墙壁弹回。每个积木将在4条对角线方向中的
一条上移动。当积木碰到了窗口,它就会从边缘上弹回来,并在一条新的对角线上移动。
所谓积木的移动,就是快速的绘制一个新的矩形,只不过是速度很快,我们看起来就像是在移动一样。
(二)代码分析(二)代码分析
1)设置常量变量)设置常量变量
import pygame, sys, time
from pygame.locals import *
# Set up pygame.
pygame.init()
# Set up the window.
WINDOWWIDTH = 400
WINDOWHEIGHT = 400
windowSurface = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT), 0, 32)
pygame.display.set_caption('Animation')
首先是导入模块,然后对pygame模块进行初始化。
这里我们将使用常量变量,以便我们想要修改窗口大小的时候,只需要修改WINDOWWIDTH和WINDOWHEIGHT即可。当
然,如果窗口的宽度和高度从不改变,那么使用常量也可。
2)用于方向、速度、颜色的常量变量)用于方向、速度、颜色的常量变量
# Set up direction variables.
DOWNLEFT = 'downleft'
DOWNRIGHT = 'downright'
UPLEFT = 'upleft'
UPRIGHT = 'upright'
MOVESPEED = 4
# Set up the colors.
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
对于方向,我们也可以不使用常量,而是将这些方向常量赋值给变量,使用这些变量表示。两者的区别是: