手机网站免费建设平台,什么可以放置网站内容,简单个人网站制作教程,pc端兼手机端网站模板4 让僵尸动起来
让僵尸能够动起来#xff0c;也就是让僵尸从屏幕右边走到屏幕左边#xff0c;此时只需要使用while循环#xff0c;改变僵尸图片的x轴坐标即可#xff0c;代码如下所示。
while True:screen.fill((255,255,255))z1.rect.x - 5z1.draw(screen)z1.update()if…4 让僵尸动起来
让僵尸能够动起来也就是让僵尸从屏幕右边走到屏幕左边此时只需要使用while循环改变僵尸图片的x轴坐标即可代码如下所示。
while True:screen.fill((255,255,255))z1.rect.x - 5z1.draw(screen)z1.update()if z1.rect.x0:break
其中每次显示僵尸时首先通过screen调用fill()方法将屏幕背景重新设置为白色掩盖僵尸移动前的影像之后将z1的rect的x每次减5表示每次循环僵尸向左侧移动5个单位之后就是通过draw()和update()来绘制并且在新位置上显示僵尸最后当僵尸移动到屏幕的最左侧时跳出循环此时僵尸停止移动。
5 设置移动速度
运行“4 让僵尸动起来”中提到的代码此时可以看到僵尸移动的速度非常快。可以通过pygame的time模块中的Clock类通过控制游戏帧速率来控制僵尸的移动速度。
5.1 游戏帧速率
游戏帧速率指的是每秒所运行的帧数FPSFrames Per Second是评价游戏画面是否流畅的关键指标。while循环每执行一次则有一次僵尸的绘画。每绘画一次就是一帧。可以通过pygame的time模块中的Clock类来设置FPS来控制僵尸移动的速度。
5.2 设置FPS
首先在程序主程序的起始处while循环之前定义Clock类的实例代码如下所示。
clock pygame.time.Clock()
之后在while循环的内部来设置FPS的值代码如下所示。
clock.tick(10)
tick()函数的作用是设置FPS的值参数10表示FPS的值10即每秒所运行的帧数不超过10次也就是保证了while循环每秒只能循环10次。此时再运行程序可以看到僵尸的移动速度已经减慢了。
6 完整代码
import pygame, os
from pygame.locals import *class Zombie(pygame.sprite.Sprite):def __init__(self, x, y):super().__init__()self.image pygame.image.load(1.png)self.rect self.image.get_rect()self.rect.x xself.rect.y ydef draw(self, screen):screen.blit(self.image, self.rect)def update(self):pygame.display.update()pygame.init()
screen pygame.display.set_mode((400, 500))
screen.fill((255,255,255))
clock pygame.time.Clock()
z1 Zombie(350, 80)
z1.draw(screen)
z1.update()
while True:screen.fill((255,255,255))z1.rect.x - 5z1.draw(screen)z1.update()if z1.rect.x0:breakclock.tick(10)
pygame.quit()