首页 > 编程语言 >Python 跳动的小球

Python 跳动的小球

时间:2022-12-03 20:23:32浏览次数:42  
标签:ball ballrect get Python 小球 跳动 pygame speed event

一、实验内容:跳动的小球游戏介绍
二、实验对象:《零基础学Python》第13章 Pygame游戏编程 实例01
用以下代码创建一个游戏弹窗:
导入pygame模块并且用init()方法初始化,设置窗口的宽和高,使用display模块显示窗体。

点击查看代码
import sys
import pygame
pygame.init()
size=width,height=640,480           #初始化pygame
screen=pygame.display.set_mode(size)

使用pygameevent.get()获取事件队列,用for...in遍历事件,type属性判断事件类型.

点击查看代码
for event in pygame.event.get():
        if event.type == pygame.QUIT:

使用image模块的load()方法加载图片,在窗口中添加小球的代码如下:

点击查看代码
ball=pygame.image.load("ball.png")
ballrect=ball.get_rect()
...
screen.blit(ball,ballrect)   #将图片画到窗口上

将move()函数添加到while循坏内,实现小球不停地移动:

点击查看代码
while True:
    clock.tick(60)
    #检查事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    ballrect = ballrect.move(speed)

添加碰撞检测的功能和“时钟”,“时钟”是为了控制程序运行的时间,整个小游戏的完整代码以及运行结果如下:

点击查看代码
#-*- coding:utf-8-*-
import sys
import pygame
pygame.init()
size=width,height=640,480           #初始化pygame
screen=pygame.display.set_mode(size)
color=(0,0,0)                     #设置颜色
ball=pygame.image.load("ball.png")
ballrect=ball.get_rect()
speed=[5,5]
clock=pygame.time.Clock()        #设置时钟
#执行死循环,确保窗口一直显示
while True:
    clock.tick(60)
    #检查事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    ballrect = ballrect.move(speed)
    #碰到左右边缘
    if ballrect.left < 0 or ballrect.right > width:
        speed[0]=-speed[0]
    #碰到上下边缘
    if ballrect.top < 0 or ballrect.bottom > height:
        speed[1]=-speed[1]
    screen.fill(color)            #填充颜色
    screen.blit(ball,ballrect)   #将图片画到窗口上
    pygame.display.flip()    #更新全部显示
            

标签:ball,ballrect,get,Python,小球,跳动,pygame,speed,event
From: https://www.cnblogs.com/xiaomianlang/p/16948717.html

相关文章