Python游戏编程(十)Animation

本文介绍如何使用Python的pygame库制作一个积木在窗口中弹跳的动画程序。通过设置常量变量、定义积木数据结构以及游戏循环,实现积木在对角线上移动并反弹的效果,为玩家呈现连续的动画视觉体验。
摘要由CSDN通过智能技术生成

我们将编写一个程序来实现积木在窗口中弹跳的效果。这些积木具有不同的颜色和大小,并且只在对角线上移动。为了让积木有动画的效果,我们将在游戏循环的每一次迭代中,让这些积木移动一些像素。这就会使得积木看上去像是在屏幕上移动。

目录

(一)游戏说明

(二)代码分析

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)

对于方向,我们也可以不使用常量,而是将这些方向常量赋值给变量,使用这些变量表示。两者的区别是:

  • 如果直接使用字符串“downlwft”表示左下对角线方向,当字符串输入错误的时候,最终会得到一个bug,将会导致程序行为异常,即便程序还不会崩溃。
  • 如果使用变量,当不小心输入了错误的变量名,Python就会报错导致程序崩溃。这仍然很糟糕,但是我们将立刻发现它并且修改它。

对于速度,我们定义了MOVESPEED = 4常量变量,这告诉程序,在游戏循环的每一次迭代中,每个积木应该移动多少个像素。

对于颜色,pygame使用3个整数值的一个元组,来表示红色、绿色和蓝色数量的RGB值。整数值从0到255.

 

使用常量是为了有更好的可读性。

 

3)设置积木 数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值